您的位置:首页 > 编程语言 > C语言/C++

Effective C++,rule 4,确保对象使用前被初始化

2017-05-26 22:04 302 查看

前言

在C++中,所有对象包括非类的成员以及类的成员变量在使用前都要尽量做到先初始化。如果使用没有初始化的对象,有些情况下会导致程序崩溃,有些情况不会崩溃但是程序会以一种不是我们想要的逻辑执行。因此,C++的初始化显得尤为重要。

三条建议

手工初始化内置型非成员对象

使用初始化列表来初始化类的成员

使用初始化列表初始化类的成员变量主要的优点是”高效”.高效的原因是在本类的构造函数调用前调用成员变量的构造函数,而无须在构造函数内部进行赋值运算。

然而这只是书上这些写而已,事件情况是,在性能方面,其提升的并不多。使用初始化列表更多的是保证了能够在构造函数前完成初始化工作,尤其是保证那些const被初始化。至于成员普通的非const成员变量,使用初始化列表和在构造函数体内”赋值”来假初始化的区别在于,使用赋值 多了一次返回时调用复制构造函数。

使用其它文件或类的静态成员时使用单例设计模式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: