string str("12345");

string str = "12345";

在写代码时忽然想到这个两个有啥区别呢,其实这个还是c++基础薄弱的原因

于是我又翻开了primer

c++支持两种初始化方式:复制初始化和直接初始化

int ival(1024);//直接初始化

int ival = 1024;//复制初始化

对于类类型

string str("12345");//调用相应的构造函数,直接初始化

string str = "12345";//先用"12345"生成一个临时对象,然后调用复制构造函数来初始化str

下面这个

string str1("12345"), str2;

str2 = str1;//调用的赋值构造函数,重载了=操作符

PS:复制构造函数就是拷贝构造函数,翻译不同

相关文章:

  • 2021-11-25
  • 2022-02-24
  • 2021-12-27
  • 2022-12-23
  • 2022-12-23
  • 2022-01-05
猜你喜欢
  • 2021-12-12
  • 2021-08-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-21
  • 2021-09-26
  • 2022-12-23
相关资源
相似解决方案