Effective C++,rule 4,确保对象使用前被初始化
2017-05-26 22:04
302 查看
前言
在C++中,所有对象包括非类的成员以及类的成员变量在使用前都要尽量做到先初始化。如果使用没有初始化的对象,有些情况下会导致程序崩溃,有些情况不会崩溃但是程序会以一种不是我们想要的逻辑执行。因此,C++的初始化显得尤为重要。三条建议
手工初始化内置型非成员对象使用初始化列表来初始化类的成员
使用初始化列表初始化类的成员变量主要的优点是”高效”.高效的原因是在本类的构造函数调用前调用成员变量的构造函数,而无须在构造函数内部进行赋值运算。
然而这只是书上这些写而已,事件情况是,在性能方面,其提升的并不多。使用初始化列表更多的是保证了能够在构造函数前完成初始化工作,尤其是保证那些const被初始化。至于成员普通的非const成员变量,使用初始化列表和在构造函数体内”赋值”来假初始化的区别在于,使用赋值 多了一次返回时调用复制构造函数。
使用其它文件或类的静态成员时使用单例设计模式
相关文章推荐
- 读书笔记 effective c++ Item 4 确保对象被使用前进行初始化
- [翻译] Effective C++, 3rd Edition, Item 4: 确保 objects(对象)在使用前被初始化
- Effective C++ (第4项:确保对象在使用前得到初始化)
- 确保 objects(对象)在使用前被初始化
- 条款4:确保对象在使用之前就已经被初始化了
- effective c++条款4(确定对象被使用前先被初始化)
- 【寒江雪】确保在对象被使用之前初始化
- Effective C++ Item 4 确定对象被使用前已先被初始化
- Effective C++ Item 04-确定对象被使用前以先被初始化
- C++注意事项——1、确保每个对象在使用前已被初始化
- Effective c++ 学习笔记——条款04:确定对象被使用前已先被初始化
- 确保对象在使用前得到初始化
- effective c++:尽量替换define,确保对象使用前初始化
- Effective C++(4) 确定对象被使用前已先被初始化
- effective c++条款4-确定对象在使用前被初始化
- effective C++笔记之条款47: 确保非局部静态对象在使用前被初始化
- effective c++(04)之对象使用前初始化
- Effective C++条款4:确定对象使用前已被初始化
- Effective C++(4) 确定对象被使用前已先被初始化
- 第三篇:确保对象在被使用前的初始化