1
我经常发现自己希望我可以让一个对象的成员变量为const,但系统允许在构造之后初始化该const变量。有没有一种机制可以让我做到这一点?对象构造后初始化一个const成员变量
为了澄清,这里有一个例子:
class A
{
public:
A(){}
initialize(int x) { c = x; }
private:
const int c;
}
我希望能够做这样的事情。我在构造中没有这些信息,所以我不能简单地将初始化移动到构造函数的初始化列表中。
我不认为有办法使用const关键字专门做到这一点。您可能必须使用某种标志来指示该值是否已初始化,并允许或不允许基于该值进行更改 –