無名の名前空間

提供: RAD Studio
移動先: 案内検索

C++ の名前空間:インデックス への移動

C++ の文法では、無名の名前空間を定義することができます。これを行うには、括弧の前にキーワード namespace を識別子なしで使用します。

namespace {  // Anonymous namespace
  // Declarations
}

同じトランザクション ユニットの、グローバル スコープ内における無名の、名前がついていない名前空間(つまり、入れ子になっていない無名の名前空間)は、すべて名前空間を共有します。この方法で、static キーワードを使用せずに、静的宣言を行うことができます。

無名名前空間の中に入れられた各識別子は、無名名前空間が定義されたトランザクション ユニット内では、一意となります。