To pytanie sprawiło, że zastanawiałem się, czy kiedykolwiek przydatne / konieczne jest pełne kwalifikowanie nazw klas (w tym operatora zasięgu globalnego) w definicji funkcji członka poza klasą.
Z jednej strony nigdy wcześniej tego nie widziałem (a składnia, aby to zrobić, wydaje się niejasna). Z drugiej strony wyszukiwanie nazw w C ++ jest bardzo nietrywialne, więc może istnieje przypadek narożny.
Pytanie:
Czy kiedykolwiek zdarza się, że wprowadzenie pozaklasowej definicji funkcji członka
ReturnType (::Fully::Qualified::Class::Name::MemberFunctionName)(...) { ... }
różni się od
ReturnType Fully::Qualified::Class::Name::MemberFunctionName(...) { ... }
(brak ::
prefiksu zasięgu globalnego )?
Należy pamiętać, że definicje funkcji członek musi być wprowadzane do otaczającej przestrzeni nazw klasy, więc to nie jest poprawnym przykładem.