通过自增操作符访问类成员

Access to class member by increment operator

本文关键字:访问 成员 操作符      更新时间:2023-10-16

我有一个类,例如:

class Vector
{
    float x, y, z
};
Vector v;

和指针:

float *c = &v.x;

当我使用自增运算符访问y和z成员时,它会正确工作吗?

注:这样做不太礼貌,但这是一种运动兴趣。

当我使用自增运算符访问y和z成员时,它会正确工作吗?

。未定义的行为。你不能跨对象执行指针运算,也不能保证结构体填充。

你可以这样做:

class Vector
{
    float v[3];
    int& x() { return v[0]; }
    int  x() const { return v[0]; }
    // and so on ...
};