РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
24 of 815 menu

Пространство имён namespace

Ключевое слово namespace создаёт именованную область видимости, внутри которой можно объявлять функции, классы, переменные и другие сущности. Это позволяет избежать конфликтов имён, когда разные части программы содержат сущности с одинаковыми именами. После ключевого слова namespace указывается имя пространства имён, а затем в фигурных скобках размещается его содержимое. Доступ к сущностям внутри пространства имён осуществляется через оператор разрешения области видимости ::, например math::add.

Синтаксис

namespace name { // объявления функций, классов, переменных }

Пример

Давайте создадим два пространства имён first и second, в каждом из которых будет своя функция show, и вызовем их через оператор :::

#include <iostream> using namespace std; namespace first { void show() { cout << "first" << endl; } } namespace second { void show() { cout << "second" << endl; } } int main() { first::show(); second::show(); return 0; }

Результат выполнения кода:

"first" "second"

Пример

Давайте создадим пространство имён math с функцией add и переменной pi, а затем обратимся к ним по полному имени:

#include <iostream> using namespace std; namespace math { double pi = 3.14; int add(int a, int b) { return a + b; } } int main() { cout << math::pi << endl; cout << math::add(2, 3) << endl; return 0; }

Результат выполнения кода:

3.14 5

Пример

Пространства имён можно вкладывать друг в друга. Давайте создадим вложенное пространство имён inner внутри outer и обратимся к его функции:

#include <iostream> using namespace std; namespace outer { namespace inner { void show() { cout << "inner" << endl; } } } int main() { outer::inner::show(); return 0; }

Результат выполнения кода:

"inner"

Смотрите также

  • ключевое слово using namespace,
    которое подключает всё пространство имён
  • ключевое слово using,
    которое подключает отдельные имена
  • оператор ::,
    который разрешает область видимости
  • ключевое слово static,
    которое задаёт статическое хранилище
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить