14

この質問により、クラス外のメンバー関数定義でクラス名 (グローバル スコープ演算子を含む) を完全に修飾することが有用か必要かどうか疑問に思いました。

一方で、これが行われたことはこれまで見たことがありません (そして、適切に行うための構文はわかりにくいようです)。一方、C++ の名前検索は非常に簡単ではないため、まれなケースが存在する可能性があります。

質問:

クラス外のメンバー関数定義の導入が(グローバル スコーププレフィックスなし)
ReturnType (::Fully::Qualified::Class::Name::MemberFunctionName)(...) { ... }
と異なる場合はありますか?
ReturnType Fully::Qualified::Class::Name::MemberFunctionName(...) { ... }::

メンバー関数の定義は、クラスを囲む名前空間に配置する必要があるため、これは有効な例ではありません。

4

3 に答える 3