条款4:确定对象被使用前已先被初始化

来源:互联网 发布:手机网站建站之星源码 编辑:程序博客网 时间:2024/06/06 02:17

永远在使用对象之前将它初始化。

  • 对于无任何成员的内置类型,必须手工完成此事。
  • 至于内置类型意外的任何其他东西,初始化责任落在构造函数身上。即确保每一个构造函数都将对象的每一个成员初始化。

不要混淆赋值初始化

  • c++规定,对象的成员变量的初始化动作发生在进入构造函数本体之前。
  • 总是使用成员初始化列表,初始化列表中针对各个成员变量而设的实参,被拿去作为各个成员变量的构造函数的实参,所以效率较高。

c++有着十分固定的“成员初始化次序”
- base classes更早于其derived classes被初始化
- class的成员变量总是以其声明次序被初始化

0 0
原创粉丝点击