在构造函数中使用列表初始化

时间:2018-06-21 08:59:44

标签: c++11 syntax

我最近开始学习c ++。所以,这是我的一个快速疑问:

学习第一部分:
在阅读有关c ++中列表初始化的内容时,我对直接初始化和副本初始化之间的区别有所了解。

string name = "Deb"; //Copy
string name("Deb"); //Direct

所以,我想-好的,坚持直接初始化是一件好事,因为c ++入门建议复制初始化有点像创建临时变量。

学习第二部分:
然后,当我开始学习构造函数时,每个人都告诉我的第一件事- 它有助于初始化对象成员。

因此,我再次使用了列表初始化。这会引发错误。为什么?

class Name{
 string personName;
 Name(){
   personName("Deb");
   }
};

但是这些替代方法有效:

personName="Deb";

Name():personName("Deb");

0 个答案:

没有答案