例如我们有

bool Foo::operator==(const Foo& other) {
  return bar == other.bar;
}

检查是否像这样的同一对象重要吗?
bool Foo::operator==(const Foo& other) {
if (this == &other) {
return true;
}
  return bar == other.bar;
}

最佳答案

如果要进行大量比较,则检查自我相等性可能会加快执行速度。在这种情况下,应该对代码进行概要分析,以查看比较同一对象时节省了多少时间,而比较单独的变量时节省了(浪费)了多少时间。

关于c++ - C++运算符==,检查自相等是否重要?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35294457/

10-13 08:34