当类中有const变量时,构造函数不能对他进行赋值。c++中提供了初始化列表对成员变量进行初始化
Test():ci(10)
{
}
注意事项:成员的初始化顺序并不依赖于他们在初始化列表中的顺序,而与成员的声明顺序相同。
初始化列表先于构造函数的函数体执行
类中的const成员会被分配空间的(分配的空间和整个类对象的分配空间是一致的)
类中的const成员的本质是只读变量
类中的const成员只能在初始化列表中指定初始值
编译器无法直接得到 const 成员的初始值,因此无法进如符号表成为真正意义上的常量。
初始化与赋值不同:
初始化:对正在创建的对象进行初值设置。
赋值:对已经存在的对象进行值设置。