C++中对string对象的初始化及赋值方式总结
C++中的string对象是最常用的几种数据类型之一。
初始化string对象的方式有以下几种:
string s1; //默认初始化,s1是一个空串
string s2(s1); //s2是s1的副本
string s3("value"); //直接初始化,s3是字面值"value"的副本,除了字面值最后的那个空字符外
string s3 = "value"; //拷贝初始化,等价于s3("value"),s3是字面值"value"的副本
string s4(n,'c'); //直接初始化,把s4初始化为由连续n个字符'c'组成的串
string s5 = string(5,'c');//拷贝初始化,s5的内容是ccccc
上面的内容是抄自《C++ Primer(第五版)》上的,其实用字符串指针也能对string对象进行初始化,举例如下:
#include<iostream>
#include<string>
using namespace std;
int main() {
char *p = "HAHAHAHAHAHA";
string str1 = p;
string str2(p);
string str3;
str3 = p;
cout << "str1的值是:" << str1 << endl
<< "str3的值是:" << str2 << endl
<< "str3的值是:" << str3 << endl;
return 0;
}
代码的运行结果是: