关于C++中的string初始化问题

2025-06-05 17:28:57
推荐回答(2个)
回答1:

string str1; // 可以
string str2[10];//可以
string str3="hello";//可以,注意中间过程,先调用string的带char* 构造函数,然后调用复制构造函数
string str4[10]="hello";//不可以,数组不能这样初始化
string str5[10]={};//可以 初始化为空字符串

回答2:

string str4[10]="hello";
string str5[10]={};
这两个不可以,原因:数组初始化要加{},并且至少写1个元素。

另外用char代替string也一样吗?

不一样
char str4[10]="hello";是对的
char str3="hello"; 是错的,类型不匹配。