C++ 基本構文 - 名前空間

前書き: C++、cplusplus は、その名前が示すように、C 言語の promax バージョンであり、C++ は C 言語と互換性があります。
C++ が誕生したのは、ベル研究所の Benjani ら偉人たちが、C 言語には文法上の穴が多すぎて、多くの欠点 (名前の衝突など) があり、長期間使用すると不便に感じるため、発明されたためです。構文の穴。

名前空間

名前空間を理解する前に、ブロガーは最初に小さな質問をします。「C++ ファイルの先頭でパッケージ化することが多いのですがusing namespace std;、この文が何をしているか知っていますか?」(下の背景が黄色のクリップ)

C 言語には名前の競合の問題があります。将来、あなたと同僚がプロジェクトを担当することになった場合、担当するライブラリが相互にリンクされると、名前の競合が発生する可能性があります。たとえば、次のように宣言した場合、 C 言語で同じ名前の変数を定義する場合、現時点ではどちらか 1 人だけが譲歩して、すべての変数をエイリアスに変更できます。C++ 名前空間は、この状況を解決するために生まれました。

1. 名前空間とスコープ修飾子::

namespace example  
{
    
    
	//命名空间中可以定义变量/函数/类。
	int a = 0;
	int Add(int x,int y){
    
    
		return x+y;
	}
}
int main()
{
    
    
	//可以将命名空间想象成一个围墙,围墙里面的东西必须要有权限才能访问。
	//cout << a << endl; 实操后发现并不能打印出a的值
	cout << example::a << endl; //域作用限定符::  借助该符号可以访问命名空间里的数据。
	return 0;
}

2. 名前空間を展開します

1. 一部拡大(認可)

上記で作成した名前空間で Add 関数を頻繁に使用する必要があるとします。ただし、ドメイン スコープ修飾子を毎回使用するのは特に面倒です。ここで名前空間の一部を拡張できます。
形式は次のとおりです。 using example::Add;

namespace example
{
    
    
	int a = 0;
	int Add(int x,int y){
    
    
		return x+y;
	}
}
using example::Add;   //展开部分命名空间
int main()
{
    
    
	cout << Add(1,2) << endl; //这里并没有运用与操作限定符,却也可以使用命名空间里的Add函数。
	return 0;
}

2. すべて展開

形式:using namespace example;
std は C++ 標準ライブラリの名前空間です。名前空間 std を使用します。C++ 標準ライブラリを展開します。std が展開されていない場合、cout、cin およびその他の構文は使用できません。

namespace example
{
    
    
	int a = 0;
	int Add(int x, int y) {
    
    
		return x + y;
	}
}
using namespace example;  //全部展开命名空间
int main()
{
    
    
	//不用域作用限定符也可访问example里的变量,函数
	cout << a << endl;
	cout << Add(1, 2) << endl;
	return 0;
}

3. マトリョーシカ人形

名前空間は名前空間内に入れ子にすることができますが、通常はこのようには使用されません。ただし、誤って表示しても驚かないでください。

namespace example
{
    
    
	int a = 0;
	namespace instance
	{
    
    
		int a = 1;
	}

int main()
{
    
    
	cout << example::a << endl;  // 0
	cout << example::instance::a << endl; // 1
	return 0;
}

要約: 要約すると、名前空間を使用するには 3 つの方法があります。
将来、同じ名前を持つ 2 つ以上の変数を定義する場合は、それらを異なる名前空間に配置できます。
名前空間をうまく使用すると、今後の演習や作業で不必要なトラブルを大幅に回避できます。

記事末尾BB: ご不明な点がございましたら、お気軽にコメント欄にメッセージを残してください。記載内容に誤りがある場合は、コメント欄でご指摘ください。ブロガーが作成します。見たらすぐに修正。最後に、これを作るのは簡単ではありませんが、友達に役立つのであれば、あなたがお金持ちになって、私に「いいね!」や注目を集めてくれることを願っています。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_73390155/article/details/132136265