C++ 03 Standardowe 7.3.1.1 [namespace.unnamed] Punkt 1: (i C++ 11 standardzie z wykorzystaniem podobnej definicji)C++ Nienazwana (anonimowe) nazw definicja
Nienazwana-namespace- definicja zachowuje się tak, jakby zostały zastąpione przez
namespace unique { /* empty body */ } using namespace unique; namespace unique { namespace-body }
Dlaczego nie jest to po prostu następującej definicji?
namespace unique { namespace-body }
using namespace unique;
boku pytanie MSDN określa, w drugiej formie. Czy to technicznie narusza Standard?
Sądzę, że dzieje się tak dlatego, że w "przestrzeni nazw" uzyskujesz dostęp do jednostek bez dodatkowych kwalifikacji, co wymaga już użycia "unikalnego obszaru nazw". –
@mat w ciele przestrzeni nazw można zawsze odwoływać się do rzeczy zdefiniowanych w tej przestrzeni nazw bez kwalifikacji –
@ JohannesSchaub-litb: Wiem, zastanawiałem się nad skutkami starć z otaczającym środowiskiem, chociaż –