使用C++ 11,我们现在可以在头声明中初始化类成员:
class aClass
{
private:
int mInt{100};
public:
aClass();
~aClass();
};
Run Code Online (Sandbox Code Playgroud)
所以我有点困惑.传统上,构造函数中的初始化列表已用于成员初始化:
aClass::aClass()
: mInt(100)
{
...
}
Run Code Online (Sandbox Code Playgroud)
声明中的新C++ 11成员初始化功能是否使初始化列表过时了?如果没有,一个优于另一个的优势是什么?什么情况会使声明初始化有利,或初始化列表有利?应该何时使用另一个?