9.16. 构造函数初始值列表
总述
构造函数初始化列表放在同一行或按四格缩进并排多行.
说明
下面两种初始值列表方式都可以接受:
- // 如果所有变量能放在同一行:
- MyClass::MyClass(int var) : some_var_(var) {
- DoSomething();
- }
- // 如果不能放在同一行,
- // 必须置于冒号后, 并缩进 4 个空格
- MyClass::MyClass(int var)
- : some_var_(var), some_other_var_(var + 1) {
- DoSomething();
- }
- // 如果初始化列表需要置于多行, 将每一个成员放在单独的一行
- // 并逐行对齐
- MyClass::MyClass(int var)
- : some_var_(var), // 4 space indent
- some_other_var_(var + 1) { // lined up
- DoSomething();
- }
- // 右大括号 } 可以和左大括号 { 放在同一行
- // 如果这样做合适的话
- MyClass::MyClass(int var)
- : some_var_(var) {}