要使用string类,必须在程序中包含头文件string。
string类位于名称空间std中
可以将string对象赋给另一个string对象,也可以将char数组赋给string对象
可以使用 + 和 += 进行字符串合并操作
可以用数组表示法来读取和修改存储在string对象中的字符
string对象之间(或string对象与C-风格字符串之间)可以判断是否相等,也可以进行比较。比较的规则与字符串之间的比较相同,为:“按字母顺序”比较。具体为,之比最前面的字符,在系统中顺序靠前则比较小,如果前面的字符相同,再依次后推,直到有不同出现。
不要试图对string对象进行任何指针相关的操作
string对象的整行输入方式为:
getline(cin, str_01);
…
…
要表示string对象的长度不能使用sizeof(),而应使用.size()
(sizeof(string)在同一编译器中是固定的)
string str_1 = "abcd";
cout << str_1.size();
空的string对象长度为0
。。
。。
。。
string对象不使用空字符标记字符串末尾,给string对象中的某项赋值’\0’并不能使其在输出时提前结束,而只会把该项变为空格
string str_1 = "abcdefghijkl";
cout << str_1 << endl << endl;
str_1[3] = '\0';
cout << str_1 << endl;
输出结果为
abcdefghijkl
abc efghijkl
。。
。。
。。
。。
32位编译器中,sizeof(string)永远是28;
64位编译器中,sizeof(string)永远是40;
这与string对象的长度并无关系
类设计让程序能自动处理string的大小。
例如
string str1;//这将创建一个长度为0的string对象
cin >> str1;//当程序将输入读取到str1中时,将自动调整str1的长度
这使得与使用数组相比,使用string类更方便,更安全