#include /* Зачем вообще нужны пространства имён? Представьте, что вы создаёте большую программу, исходный код который содержит миллионы строк кода. Конечно, большая часть кода написана не вами, так как вы используете библиотеки, написанные другими программистами. Библиотекой можно назвать совокупность файлов исходного кода, нацеленных на решение какой-либо задачи. Например, есть библиотека для работы с графикой в которой содержатся функции/структуры/классы для работы с графикой. Если вы подключаете несколько библиотек, то существует высокая вероятность, что название чего-либо из одной библиотеки совпадёт с названием чего-то из другой библиотеки. Это, конечно, приведёт к ошибке. Чтобы этого избежать и используются пространства имён. */ 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) Что напечатает данная программа? */