关于这两个函数是否具有相同逻辑的另一个问题似乎存在一些分歧:
bool operator<(const screenPoint& left, const screenPoint& right){
if (left.x < right.x) return true;
else return left.y < right.y;
}
bool operator<(const screenPoint& left, const screenPoint& right){
return left.x < right.x || left.y < right.y;
}
Run Code Online (Sandbox Code Playgroud)
我已经盯着这些看了很长一段时间,我看不出它们会有什么不同的表现.在两者中,如果left.x < right.x,他们都返回true.如果没有,那么他们都返回结果left.y < right.y.对?
如果没有,有人可以详细说明.
另外,有人提出,其中第一个与词法排序的实现相同std::tie,是真的吗?
c++ ×1