我有一个类型,基本上就是一个
struct { int x,y,z; }
我希望将其作为stl映射表的密钥。由于它是自定义类型,因此需要实现operator<运算符使map进行比较操作。
我一直在努力编写能够实现这一点的函数。到目前为止,我尝试过:
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值可能为负数,这进一步使后面的解决方案无效。
有人有实现这种功能的想法吗?
return X < v.X || Y < v.Y || Z < v.Z;
怎么样? - Gabe