前言
某个对象若不被初始化,意味着它的执行很有可能导致不确定的结果,这是我们的代码所要坚决避免的情况。
本文将讲解 C++ 代码中关于对象初始化的方方面面。
成员变量的初始化
当我们构造一个对象的时候 (不含初始化列表),在进入构造函数之前,其实所有成员变量已经被其所属类型的默认构造函数给初始化了,内置类型则不做任何处理。
因此,如果你想在构造函数里初始化成员变量,这可未必是个好主意。更好的方法应当是在构造函数的成员初始化列表里对成员变量进行初始化,这样可以避免重复的初始化工作。但请记得在列表中对所有,所有的成员都进行初始化。同时请保证初始化顺序和成员变量声明顺序的一致,这是个好习惯。
至于 const 或者 引用类型的成员变量,就更不用说了 - 必须用初始化列表的方式初始化,没得选。
关于成员初始化列表的使用细则,请自行查阅有关 C++ 书籍。
小结
以正确的方式对对象进行初始化对程序的运行效率,资源节省大有裨益。