我有一个 3D 矢量类。私有变量定义:
union {
struct {
double x;
double y;
double z;
};
double data[3];
};
在实现operator==时,哪个更快?
return this->x == v.x && this->y == v.y && this->z == v.z;
OR
return memcmp(this->data, v.data) == 0;
不幸的是,两者并不等同。 (特别是 NaN 和有符号零在 FPU 内不使用按位比较)。
所以你应该根据正确性而不是速度来做出选择。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)