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

1.4 了解各种形式的非静态成员初始化

构造函数是完成非静态成员初始化的函数。许多程序员更喜欢在构造函数体中进行赋值。除了几个实际的特殊情况外,非静态成员的初始化应该在构造函数的初始化列表中完成,或者从C++11开始,当在类中声明它们时使用默认成员初始化方法进行初始化。在C++11之前,类的常量和非常量非静态数据成员必须在构造函数中初始化,类中声明的初始化仅适用于静态常量。正如我们即将看到的,C++11中取消了这个限制,它允许在类声明中初始化非静态成员。此初始化称为默认成员初始化,将在后续章节进行说明。

本节将探索如何完成非静态成员初始化。对每个成员使用适当的初始化方法不仅会使代码更高效,而且会使代码结构更加良好,从而增强代码可读性。