Zgodnie [basic.lookup.qual]/3,
W deklaracji, którym declarator ID jest wykwalifikowany ID nazwy stosowane przed kwalifikowanej ID zadeklarowane jako są wyszukiwane w obszarze definiującym przestrzeń nazw; Nazwy następujące po kwalifikowanym id są wyszukiwane w zakresie klasy lub przestrzeni nazw członków.
Typ zwracany przychodzi przed kwalifikowaną id zadeklarowane (czyli A::Method
), podczas gdy typ parametru przychodzi po to, aby nazwa typu parametru jest automatycznie spojrzał w zakresie A
, natomiast nazwa typu zwrotu nie jest. Możemy uniknąć dodatkowych kwalifikacji za pomocą wstecznego typu zwrotu.
auto A::Method(B argument) -> B;
Czy jestem jedynym facetem, który musiał przeczytać standardowy cytat 10 razy powoli, aby go uzyskać? – user
@user Zdaję sobie sprawę, że nie jest łatwo przeczytać, jeśli nie znasz słownictwa. Dlatego wyjaśniłem to również poniżej. – Brian
Tak, zdecydowanie zaoszczędziłeś mi 20 dodatkowych odczytów – user