现代C++编程实战:132个核心技巧示例(原书第2版)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.4.1 使用方式

要初始化类的非静态成员,应该:

❍ 对静态常量和非静态常量使用默认成员初始化(见以下代码中的[1]和[2])。

❍ 使用默认成员初始化可以为具有多个构造函数的类的成员提供默认值,构造函数会使用统一初始化方法初始化这些成员(见以下代码中的[3]和[4])。

❍ 使用构造函数初始化列表来初始化没有默认值但依赖于构造函数参数的成员(见以下代码中的[5]和[6])。

❍ 当其他选项不可用时,在构造函数体内使用赋值操作实现初始化(例如使用this指针初始化数据成员,检查构造函数参数值,在用那些值初始化成员或者两个非静态成员自引用之前抛出异常)。

以下代码展示了这几种形式的初始化: