【发布时间】:2017-03-13 07:15:27
【问题描述】:
考虑一下代码 sn-p
class Test{
const int i;
public:
// Test(int x):i(x){} This works
Test(int x){
i=x;
} //this doesn't work
为什么内联成员初始化列表有效,而普通初始化无效?
【问题讨论】:
-
所谓的“正常初始化”并不是初始化。有很多关于初始化数据成员的帖子。
-
i = x;不是初始化。这是作业。您可以更改 const 变量的值。
标签: c++ constructor constants member-initialization initialization