A namespace-alias-definitionобъявляет альтернативное имя для пространства имен в соответствии со следующей грамматикой:
namespace-alias: identifier
namespace-alias-definition: namespace identifier = qualified-namespace-specifier ;
qualified-namespace-specifier: nested-name-specifieropt namespace-name
Символ identifierв a namespace-alias-definitionявляется синонимом имени пространства имен, обозначаемого символом qualified-namespace-specifierи становится a namespace-alias. [ Note: При поиске a namespace-nameв a namespace-alias-definitionучитываются только имена пространств имен, см [basic.lookup.udir]. ] — end note
В декларативной области a namespace-alias-definitionможно использовать для переопределения, namespace-aliasобъявленного в этой декларативной области, чтобы ссылаться только на пространство имен, на которое оно уже ссылается. [ Example: Следующие декларации составлены правильно:
namespace Company_with_very_long_name { /* ... */ } namespace CWVLN = Company_with_very_long_name; namespace CWVLN = Company_with_very_long_name; // OK: duplicate namespace CWVLN = CWVLN;
— end example ]