Подтвердить что ты не робот

Какова область псевдонимов пространства имен в С++?

Существует ли псевдоним пространства имен С++, определенный внутри определения функции, блок, функция, файл или другая область действия (продолжительность действия)?

4b9b3361

Ответ 1

Это срок действия блока. Например, если вы определяете псевдоним пространства имен, как указано ниже, псевдоним abc пространства имен будет недопустимым вне блока {...}.


 {  
    namespace abc = xyz;
    abc::test t;  //valid 
 }
  abc::test t;  //invalid

Ответ 2

Область - это декларативная область, в которой определяется псевдоним.

Ответ 3

У него будет область действия блока, в которой она была определена - вероятно, будет такой же, как и область действия, если вы не объявите псевдоним внутри блока внутри функции.

Ответ 4

Я вполне уверен, что псевдоним пространства имен имеет только область видимости внутри созданного им блока, как и большинство других типов идентификаторов. На данный момент я не могу проверить, но эта страница, похоже, не против.

Ответ 5

Насколько я знаю, это в области, которую она объявила. Итак, если вы используете псевдоним в методе, то он действителен в этом методе, но не в другом.

Ответ 7

Он действителен для продолжительности области, в которой он введен.

Взгляните на http://en.cppreference.com/w/cpp/language/namespace_alias, я доверяю объяснению cppreference, это гораздо более стандартное.