初始化列表的使用210519
一,C++中提供了初始化列表对成员变量进行初始化
语法规则:
ClassName::ClassName():m1(v1), m2(v1, v2), m3(v3)
{
//some other initialize operation
}
二,注意事项
(一)成员的初始化顺序与成员的声明顺序相同
(二)成员的初始化顺序与初始化列表中的位置无关
(三)初始化列表先于构造函数的函数体执行
三,类中的const成员
(一)类中的const成员会被分配空间的
(二)类中的const成员的本质是只读变量
(三)类中的const成员只能在初始化列表中指定初始值
(四)编译器无法直接得到const成员的初始值,因此无法进入符号表成为真正意义上的常量。
四,初始化与赋值不同
(一)初始化:对正在创建的对象进行初值设置
(二)赋值:对已经存在的对象进行值设置
五,小结
(一)类中可以使用初始化列表对成员进行初始化
(二)初始化列表先于构造函数体执行
(三)类中可以定义const成员变量
(四)const成员变量必须在初始化列表中指定初值
(五)const成员变量为只读变量