我最近开始学习c ++。所以,这是我的一个快速疑问:
学习第一部分:
在阅读有关c ++中列表初始化的内容时,我对直接初始化和副本初始化之间的区别有所了解。
string name = "Deb"; //Copy
string name("Deb"); //Direct
所以,我想-好的,坚持直接初始化是一件好事,因为c ++入门建议复制初始化有点像创建临时变量。
学习第二部分:
然后,当我开始学习构造函数时,每个人都告诉我的第一件事- 它有助于初始化对象成员。
因此,我再次使用了列表初始化。这会引发错误。为什么?
class Name{
string personName;
Name(){
personName("Deb");
}
};
但是这些替代方法有效:
personName="Deb";
或
Name():personName("Deb");