Cpp_初始化列表
内容
- 三种形式的initialization
- 构造函数的初始化列表写法
Cpp的initialization
有三种形式:
- 赋值(assignment形式)
- 卷括号(大括号,curly braces)
- 函数式(圆括号)
1 | int main() |
委员会推荐新出的大括号形式的初始化,最通用,相比于圆括号来说更少有歧义。
构造函数中的初始化列表
冒号后面的初始化列表,除了assignment形式,小括号、大括号都可以。现代C++更推荐大括号。
1 | class Test |
初始化列表的初始化是先于构造函数的,即给对象创建空间后立马填成员的值。
而构造函数中赋值,是对象创建完毕后才去执行。
初始化列表的语法糖
如果要初始化的东西是常量,则C++11
有语法糖:直接在成员变量后加初始化括号。
1 | class Test |