C++中string和char的区别以及直接初始化和拷贝初始化

string和char的区别


‘\0’是c/c++语言中的字符串结束符,在ASCII字符集中对应空字符NULL。


使用string类,必须要在头文件写明#include<string>,使用string会在字符串的末尾自动加入一个\0,而且字符串使用双引号,char不在末尾自动加0,一般用单引号——char a = 'A';

string s1("hello");



直接初始化和拷贝初始化


如果使用等号(=)初始化一个变量,实际上执行的是拷贝初始化,编译器把等号右侧的初始值拷贝到新创建的对象中去。与之相反,如果不使用等号,则执行的是直接初始化。

string s5="hiya";   //拷贝初始化

string s6("hiya");   //直接初始化

string s7(10,‘c’)//直接初始化,内容为ccccccccc

(C++ Primer 第5版 P76)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章