CppCoreGuidelines C.5 类的帮助函数跟类放在相同的名字空间里
28 July 2022
C.5: Place helper functions in the same namespace as the class they support
理由
帮助函数(Helper Function)虽然不需要直接访问类的内部数据,但也是类的有用接口。帮助函数和类放在一个名字空间里,可以强化他们的关系,查找函数时,可以根据参数类型获取提示信息。
例子
namespace Chrono { // here we keep time-related services class Time { /* ... */ }; class Date { /* ... */ }; // helper functions: bool operator==(Date, Date); Date next_weekday(Date); // ... }
注意
此规则尤其适用于重载的操作符函数。
强化
标注那些参数类型都限定在同一个名字空间的全局函数。