我正在将一个结构转换为一个类,这样我就可以为我的变量强制执行一个 setter 接口。
不过,我不想更改读取变量的所有实例。所以我转换了这个:
struct foo_t {
int x;
float y;
};
对此:
class foo_t {
int _x;
float _y;
public:
foot_t() : x(_x), y(_y) { set(0, 0.0); }
const int &x;
const float &y;
set(int x, float y) { _x = x; _y = y; }
};
我对此感兴趣,因为它似乎模仿了 C# 的公共只读属性的想法。
编译很好,我还没有看到任何问题。
除了在构造函数中关联 const 引用的样板之外,这种方法的缺点是什么?
有什么奇怪的混叠问题吗?
为什么我以前没见过这个成语?