=====namespace=====
文法:
namespace 名前 {
宣言リスト;
}
namespaceキーワードを使うと、新しいスコープを作成することができます。
名前はオプションで、省略した場合には無名の名前空間が作られます。
一度名前空間を作成すると、以下の例のように、明示して参照するか、あるいは[[using]]キーワードを使用して参照することになります:
namespace CartoonNameSpace {
int HomersAge;
void incrementHomersAge() {
HomersAge++;
}
}
int main() {
...
CartoonNameSpace::HomersAge = 39;
CartoonNameSpace::incrementHomersAge();
cout << CartoonNameSpace::HomersAge << endl;
...
}
====無名の名前空間====
名前のない名前空間は、無名の名前空間と呼ばれます。それぞれの名前空間は翻訳単位ごとにユニークな名前が設定されます。
無名の名前空間に対しては[[using]]キーワードを適用することはできませんが、その変わり、usingキーワードがすでに適用されているかのように動作します。
namespace {
宣言リスト;
}
====名前空間の別名====
名前空間に対して、新しい名前(別名)を付けたり、ネストした名前空間を作ることもできます。
namespace identifier = namespace-specifier;
関連トピック: [[using]]