我想知道让一个方法返回一个 r 值。具体来说,我想知道是否有办法使用重载的运算符来做到这一点。我有这个代码:
struct vec4 {
float x;
float y;
float z;
float w;
...
inline float operator [] (int i)
{
switch (i) {
case 0:
return this->x;
case 1:
return this->y;
case 2:
return this->z;
case 3:
return this->w;
default:
exit(1);
return 0;
}
}
};
我怎样才能改变它,以便我可以使用一些东西来达到
vec4 v;
...
v[2] = 5.0f;
我听说过 C++11 中的右值引用,它们可能是一个潜在的解决方案吗?
编辑:我找到了一种方法来输入我的实际代码。