Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一堂课,例如:
class Vector { float x, y, z }; Vector v;
和一个指针:
float *c = &v.x;
当我将使用增量运算符访问 y 和 z 成员时,它会正常工作吗?
PS这种方式不好做,但它的运动兴趣。
不,未定义的行为。您不能跨对象执行指针运算,也不能保证结构填充。
你可以做这样的事情:
class Vector { float v[3]; int& x() { return v[0]; } int x() const { return v[0]; } // and so on ... };