我有一个结构,希望使变量彼此相关。这是代码片段:
struct RSI
{
int RSI;
int ESI = RSI & 0x1F;
int SI = ESI & 0x0F;
int SIL = SI & 0x08;
};
有没有办法在C中执行此操作,而无需创建函数来修改变量?
最佳答案
不,您需要定义函数才能做到这一点。
在C++中,您当然可以封装细节:
struct RSI
{
private:
int rsi;
public:
RSI(int rsi) : rsi(rsi) {}
int getRSI() const { return rsi; }
int getESI() const { return getRSI() & 0x1F; }
int getSI() const { return getESI() & 0x0F; }
int getSIL() const { return getSI() & 0x08; }
};