我有一个 3D vector 类。私有(private)变量定义:
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;
或
return memcmp(this->data, v.data) == 0;
最佳答案
不幸的是,这两者并不等同。 (特别是 NaN 和带符号的零不在 FPU 内使用按位比较)。
所以你应该根据正确性而不是速度来做出选择。
关于c++ - 内存对比,哪个更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3090038/