15 January 2023

C++ 核心指南目录

“Use non-member functions for symmetric operators”

理由

如果你使用成员函数,就得定义两个。用了非成员函数,对于 ==, a = b,b = a 这类操作,就只要定义一次就好了。

例如

bool operator==(Point a, Point b) { return a.x == b.x && a.y == b.y; }

强化:

  • 标记成员操作符函数