名前空間
変種
操作

「cpp/keyword/namespace」の版間の差分

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

2020年4月10日 (金) 08:58時点における最新版

 
 
C++言語
一般的なトピック
フロー制御
条件付き実行文
繰り返し文 (ループ)
ジャンプ文
関数
関数宣言
ラムダ関数宣言
inline 指定子
例外指定 (C++20未満)
noexcept 指定子 (C++11)
例外
名前空間
指定子
decltype (C++11)
auto (C++11)
alignas (C++11)
記憶域期間指定子
初期化
代替表現
リテラル
ブーリアン - 整数 - 浮動小数点
文字 - 文字列 - nullptr (C++11)
ユーザ定義 (C++11)
ユーティリティ
属性 (C++11)
typedef 宣言
型エイリアス宣言 (C++11)
キャスト
暗黙の変換 - 明示的な変換
static_cast - dynamic_cast
const_cast - reinterpret_cast
メモリ確保
クラス
クラス固有の関数特性
特別なメンバ関数
テンプレート
その他
 
 

[編集] 用途