将字符数组赋给string字符串报错

这一行代码“string b = a"还没有执行,当然没有值。
■网友
没有报错,是你不会用IDE。
■网友
string并没有重载和字符数组的拷贝操作,反过来拷贝也是一样,string定义了转换为字符数组的成员函数。string具有以字符数组为参数的构造函数。所以你可以使用:string a(b);或者是string a=string(b);这里b是字符数组。第一种是构造函数的语法,第二种是类型转换的语法。通过这个例子也许你会明白为什么cpp中更喜欢int a=int (3.14);而非int a = 3.14;无论是内置类型还是类类型,括号初始化相比赋值初始化更好用。


    推荐阅读