我有这种类型,基本上是
struct { int x,y,z; }
我想用作 stl 映射的键。由于它是一种自定义类型,因此我需要为地图实现 operator< 来进行比较魔术。
我很难使用允许这样做的功能。到目前为止,我已经尝试过:
return X < v.X && Y < v.Y && Z < v.Z;
这根本不起作用,并且
return X*X+Y*Y+Z*Z < v.X*v.X+v.Y*v.Y+v.Z*v.Z;
它给出了这种形状而不是正方形:
请记住,x、y 或 z 值可能为负数,这进一步使后面的解决方案无效。
任何人都知道如何实现这样的功能?