这个问题让我想知道在类外成员函数定义中完全限定类名(包括全局范围运算符)是否有用/有必要。
一方面,我以前从未见过这样做(而且正确执行此操作的语法似乎晦涩难懂)。另一方面,C++ 名称查找非常重要,因此可能存在极端情况。
问题:
是否存在引入类外成员函数定义
ReturnType (::Fully::Qualified::Class::Name::MemberFunctionName)(...) { ... }
不同于
ReturnType Fully::Qualified::Class::Name::MemberFunctionName(...) { ... }
(无全局范围::
前缀)的情况?
请注意,成员函数定义必须放在包含类的命名空间中,因此这不是一个有效的示例。