スポンサードリンク
HOME > C++言語 > 無名の名前空間

C++言語 - 無名の名前空間

名前空間に名前をつけない事も可能です。

名前なしの名前空間内に宣言された変数や関数は、

static属性がついたものと同様のモノとして動作します。

つまり、グローバル変数、関数にstatic属性がついただけ。

と考える事ができます。

#include <iostream>

using namespace std;

namespace {
   int a;       // static int a;と同じ意味
   void show(void);  // static void show(void);と同じ意味
}

void main(void) {
   cout << "a=" << a << '\n';
   show();
}




静的なグローバル変数、静的なグローバル関数を使う場合に

C言語機能のstatic付き変数、関数を使うか、

この無名の名前空間機能を使うかは好みで決めていいと思います。

C++言語が使える環境においては、無名の名前空間機能を使うように

推奨されているようです。



スポンサードリンク







HOME

言語解説編
プログラミング用語・知識

C言語

C++言語

Java

C#

Visual Basic.NET

アプリケーション編
C言語による
コンソールプログラミング




Copyright (C) プログラミングランド All Rights Reserved