我们怎样才能初始化结构成员一次并确保它们不可变?

时间:2016-04-05 23:42:17

标签: c++ initialization structure const

我有一个结构,只有在第一次构造结构时才应该引用它们。所以,我可以创建一个构造函数并适当地设置值。我怎样才能确保它们不可变?如果我将成员声明为const,我将无法在构造期间更新它们。

1 个答案:

答案 0 :(得分:1)

const正是您所需要的。您可以在构造函数中初始化您的成员,但您需要通过成员初始化列表来执行此操作:

class Foo
{
public:
    Foo() : z(5) {}
private:
    const int z;
};