相关疑难解决方法(0)

这两个比较表达式是否相同?

关于这两个函数是否具有相同逻辑的另一个问题似乎存在一些分歧:

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++

3
推荐指数
1
解决办法
74
查看次数

标签 统计

c++ ×1