c++中"string c=string()"这条语句为什么是对的

c++中"string c=string()"这条语句为什么是对的

string c = string();

这是直接初始化+拷贝初始化

对于用多个值进行初始化的情况,非要用拷贝初始化的方式来处理页也不是不可以,不过需要显式地创建一个(临时)对象用于拷贝:

string s8 = string(10,c)

s8的初始值是string(10,'c'),它实际上是用数字10和字符c两个参数创建出来的一个string对象,然后这个string对象又拷贝给了s8。这条语句本质上等价于下面的两条语句:

string temp(10,'c');
string s8 = temp;

《c++ primer中文版》P76

posted on 2022-02-18 14:28  coderabcd  阅读(45)  评论(0)    收藏  举报

导航