条款4:确定对象被使用前已先被初始化
2016-02-18 19:56
204 查看
永远在使用对象之前将它初始化。
对于无任何成员的内置类型,必须手工完成此事。
至于内置类型意外的任何其他东西,初始化责任落在构造函数身上。即确保每一个构造函数都将对象的每一个成员初始化。
不要混淆赋值和初始化。
c++规定,对象的成员变量的初始化动作发生在进入构造函数本体之前。
总是使用成员初始化列表,初始化列表中针对各个成员变量而设的实参,被拿去作为各个成员变量的构造函数的实参,所以效率较高。
c++有着十分固定的“成员初始化次序”
- base classes更早于其derived classes被初始化
- class的成员变量总是以其声明次序被初始化
对于无任何成员的内置类型,必须手工完成此事。
至于内置类型意外的任何其他东西,初始化责任落在构造函数身上。即确保每一个构造函数都将对象的每一个成员初始化。
不要混淆赋值和初始化。
c++规定,对象的成员变量的初始化动作发生在进入构造函数本体之前。
总是使用成员初始化列表,初始化列表中针对各个成员变量而设的实参,被拿去作为各个成员变量的构造函数的实参,所以效率较高。
c++有着十分固定的“成员初始化次序”
- base classes更早于其derived classes被初始化
- class的成员变量总是以其声明次序被初始化
相关文章推荐
- ASTQueryTranslatorFactory weblogic10.3 org.hibernate.hql.ast.HqlToken报错问题
- 【Android进阶】Android面试题目整理与讲解
- Trie树的c++实现
- java_74_自定义异常
- VMWare vCenter Converter 转换失败 Error code: 2147754776 (0x80042318).
- PHP---文件上传下载
- git review自动添加change-id
- VMWare vCenter Converter converter.fault.ManagedDiskOpenFault错误
- Windows Server 2012 R2 设置 NTP 服务
- CodeForces 604B More Cowbell
- 如何在eclipse中使用pydev插件导入和测试已有代码
- Android 面试题(答案最全)
- LINUX一网卡多IP设置
- 航空连接器、端子
- 使用Gson进行JSON处理
- Huawei Quidway S3900 stp与锐捷不兼容问题
- Understanding Search Methodologies
- how to integrate OPENH264 to webrtc sdk
- CodeForces 600B 二分
- [POJ 2728][最优比率生成树] Desert King