namespace。名前を所属させるための、名前の付いた宣言領域(C++)。 その結果として、同じ名前でも異なる名前空間に属させることで名前の衝突(C++)を避けられる。

宣言

namespaceキーワードを用いる。

// 名前空間の指定
namespace namespace-name
{
	namespace-body
	// ネスト可能
	// ネストの省略記法:
	    /* namespace toplevel-name::nested-name::…
		   {

		   }
	    */
}

同じ名前空間の宣言を複数箇所で行うことはできる。

命名規則

歴史的には、標準ライブラリのように小文字が一般的だったが、現代では、それらやライブラリとの衝突を避けるために、大文字で始める命名規則も推奨され始めている。どちらでもよい。

名前空間へのアクセス

トップレベルで宣言された名前は、グローバル名前空間(C++)に属する。 ある名前空間の名前を明示して使う時は、スコープ解決演算子によって所属する名前空間を指定する。

namespaceの別名

namespace new-namespace-name = old-namespace-name;

関連

参考