名前空間とは何ですか?なぜこの文を名前空間 std を使用して書くのでしょうか?
これは C++ に新しく導入されたメカニズムで、主に現実世界の同じ名前を持つ 2 人の人物と同じように、複数のモジュール間の名前の競合の問題を解決するために使用されます。 C++ では、名前の競合を防ぐために、同じ名前を異なるスペースに配置します。
たとえば、標準 C++ ライブラリによって提供されるオブジェクトは、cin、cout、endl などの標準名前空間 std に格納されるため、次のような C++ プログラムで名前空間 std を使用する文が表示されます。
#include<iostream>usingnamespacestd;intmain(){cout<<Nicetomeetyou!<<endl;return0;}
プログラムが cout と endl を使用する場合、std 名前空間を使用することを事前に通知する必要があります。さらに、他にも 2 つの記述方法があります。
2 番目のタイプ:ドメイン修飾子:: を使用して 1 つずつ指定します。上記のコードは次のように書くこともできます。
#include<iostream>intmain(){std::cout<<Nicetomeetyou!<<std::endl;return0;}
それを見ましたか? cout と endl はそれぞれ std:: で指定され、std からのものであることを示します。
3 番目の方法: usingおよびドメイン修飾子を使用して、コードなど、使用する名前を指定します。
#include<iostream>usingstd::cout;usingstd::endl;intmain(){cout<<Nicetomeetyou!<<endl;return0;}
それを見ましたか? using を使用して、最初に特定の名前を宣言することもできます。
上記 3 つの方法のいずれかを使用できます。今後の統一性と利便性を考慮して、チュートリアルでは最初の記述方法を採用します。
実際、初期の C++ 標準には名前空間の概念がなく、含まれるヘッダー ファイルは C と同じであり、接尾辞 .h が付いていたことに言及する価値があります。新しい標準に組み込むために .h のないヘッダー ファイルを使用する場合は、名前空間を宣言する必要があり、組み込まれるヘッダー ファイルが最初に来て、使用される名前空間が最後に宣言されるというだけです。