C++类构造函数的初始化列表
c++类构造函数的初始化列表是一个挺有灵性的东西,值得花一些时间去研究下。
- 类对象的构造顺序
- 初始化和赋值的差异
- 必须使用初始化列表的场景
- 成员初始化顺序
类对象的构造顺序
1.分配内存,调用构造函数时,隐式或显式的初始化各数据成员;
2.进入构造函数后在构造函数中执行一般赋值与计算。
初始化和赋值的差异
对于类的构造函数,有如下两种形式:
第一种是不使用初始化列表的:
class B
{
public:
B(const A & item){
_a = item;
};
~B(){};
private:
A _a;
};
第二种是使用初始化列表的,形如:
class B
{
public: