可能重复:
初始化列表的好处
过去几天我一直在学习 C++,我看到了两种我无法确定两者优缺点的格式。希望有人可以在这里帮助我。
第一个变量被初始化为var(value)
class Foo
{
public:
Foo(): itsVar1(2), itsVar2(345){}
private:
int itsVar1;
int itsVar2;
};
第二个是用赋值运算符初始化的var = value
。
class Foo
{
public:
Foo()
{
itsVar1 = 2;
itsVar2 = 345;
}
private:
int itsVar1;
int itsVar2;
};
一个比另一个有优势吗?是个人喜好吗?
第一种样式(?)对我来说看起来更令人困惑。看起来您正在调用一个方法并传入该值。看起来很含蓄;而第二种方法非常明确,作为来自 Python 的人“显式优于隐式”,我更喜欢第二种方法。我错过了什么?