Рубрики

Могут ли пространства имен быть вложенными в C ++?

В C ++ пространства имен могут быть вложенными, а разрешение переменных пространства имен является иерархическим. Например, в следующем коде внутреннее пространство имен создается внутри внешнего пространства имен, которое находится внутри глобального пространства имен. В строке «int z = x» x ссылается на external :: x . Если бы x не было во внешнем, то этот x ссылался бы на x в глобальном пространстве имен.

#include <iostream>

  

int x = 20;

namespace outer {

  int x = 10;         

  namespace inner {

    int z = x; // этот х ссылается на внешний :: х

  }

}

  

int main()

{

  std::cout<<outer::inner::z; // печатает 10

  getchar();

  return 0;

}

Выход вышеуказанной программы — 10.

На боковом узле, в отличие от пространств имен C ++, пакеты Java не являются иерархическими.

Рекомендуемые посты:

Могут ли пространства имен быть вложенными в C ++?

0.00 (0%) 0 votes