我从 C# 来到 C++ 并且 const 正确性对我来说仍然是新的。在 C# 中,我可以声明这样的属性:
class Type
{
public readonly int x;
public Type(int y)
{
x = y;
}
}
这将确保 x 仅在初始化期间设置。我想在 C++ 中做类似的事情。我能想到的最好的方法是:
class Type
{
private:
int _x;
public:
Type(int y) { _x = y; }
int get_x() { return _x; }
};
有一个更好的方法吗?更好的是:我可以用结构来做到这一点吗?我想到的类型实际上只是一个数据集合,没有逻辑,所以如果我能保证它的值只在初始化期间设置,结构会更好。