Пространство имен namespace это новый элемент языка и для работы с STL мы обязаны принять его во внимание. Этот элемент создан для программ созданых из многих файлов, в которых есть опасность конфликта имен.
Объявляется пространство имен командой namespace:
C++ Спецификация namespace [идентификатор] { описание для этой рабочей области }
Для использования рабочей области применяется команда using namespace:
C++ Спецификация using namespace [идентификатор]
Посмотрим ? Создавайте проект Win32 Console, как Hello Word с именем TestNameSpace. И код. Объявляем различные области.
// TestNameSpace.cpp : Defines the entry point for the console application. // #include "stdafx.h" namespace spaceA { int MyVal=10; } namespace spaceB { int MyVal=10; } namespace spaceC { int MyVal=10; } void main() { }
Смотрите на реакцию компилятора он их различает.
А вот так они используются.
// TestNameSpace.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "iostream.h" namespace spaceA { int MyVal=10; } namespace spaceB { int MyVal=20; } namespace spaceC { int MyVal=30; } void Test() { using namespace spaceB; cout << MyVal << " " << "spaceB" << endl; } void main() { using namespace spaceA; cout << MyVal << " " << "spaceA" << endl; Test(); cout << spaceC::MyVal << " " << "spaceC" << endl; }
Запустите посмотрите результат. Все работает как часы.