60 lines
1.9 KiB
C++
60 lines
1.9 KiB
C++
|
#include <stdio.h>
|
|||
|
|
|||
|
/*
|
|||
|
Зачем вообще нужны пространства имён?
|
|||
|
|
|||
|
Представьте, что вы создаёте большую программу, исходный код который
|
|||
|
содержит миллионы строк кода. Конечно, большая часть кода написана не вами,
|
|||
|
так как вы используете библиотеки, написанные другими программистами.
|
|||
|
|
|||
|
Библиотекой можно назвать совокупность файлов исходного кода, нацеленных
|
|||
|
на решение какой-либо задачи. Например, есть библиотека для работы с графикой
|
|||
|
в которой содержатся функции/структуры/классы для работы с графикой.
|
|||
|
|
|||
|
Если вы подключаете несколько библиотек, то существует высокая вероятность,
|
|||
|
что название чего-либо из одной библиотеки совпадёт с названием чего-то из другой библиотеки.
|
|||
|
Это, конечно, приведёт к ошибке.
|
|||
|
|
|||
|
Чтобы этого избежать и используются пространства имён.
|
|||
|
*/
|
|||
|
|
|||
|
|
|||
|
|
|||
|
namespace audio
|
|||
|
{
|
|||
|
int a = 10;
|
|||
|
|
|||
|
int calculate(int x)
|
|||
|
{
|
|||
|
return x + 1;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
namespace graphics
|
|||
|
{
|
|||
|
int a = 20;
|
|||
|
|
|||
|
int calculate(int x)
|
|||
|
{
|
|||
|
return x * 2;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
int main()
|
|||
|
{
|
|||
|
printf("%i\n", audio::a);
|
|||
|
printf("%i\n", graphics::a);
|
|||
|
|
|||
|
|
|||
|
printf("%i\n", graphics::calculate(audio::calculate(graphics::a)));
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/*
|
|||
|
Задание:
|
|||
|
|
|||
|
1) Что напечатает данная программа?
|
|||
|
*/
|