namespace identifier
{
named_entities
},namespace-entities
namespace myNamespace
{
int a, b;
}
myNamespacea
myNamespaceb
避免全局對象或函數有可能重名而造成重復定義的錯誤,例如:
#include <iostream>
using namespace std;
namespace foo
{
int value() { return 5; }
}
namespace bar
{
const double pi = 3.1416;
double value() { return 2*pi; }
}
int main () {
cout << foo::value() << '\n';
cout << bar::value() << '\n';
cout << bar::pi << '\n';
return 0;
}
輸出:
5
6.2832
3.1416
一個代碼的兩端也可以分開寫在同一個名空間下,如:
namespace foo { int a; }
namespace bar { int b; }
namespace foo { int c; }
變量a和c在同一個名空間foo下,b在bar下。