根据Scott Myers关于在大多数情况下优先使用非成员朋友函数而不是成员函数的建议,它们是有意义的 - 设置命名空间以执行此操作的推荐约定是什么?
特别是,您如何避免将所有内容嵌套到名称空间中并最终导致可读性较差的代码。如:
namespace Vector
{
class Vector2 {...};
bool IsUnitVector(const Vector2& vector);
}
导致调用,例如:
Vector::Vector2 position;
if (Vector::IsUnitVector(position)) {...}
例如以下是否可以接受:
class Vector2 {...};
namespace Vector2
{
bool IsUnitVector(const Vector2& vector);
}
允许更易读、更合乎逻辑地分组的调用:
Vector2 position;
if (Vector2::IsUnitVector(position) {...}