60

の用途はusing namespace std何ですか?

素人の言葉での説明が欲しいです。

4

2 に答える 2

87
  • using : 使用します。
  • 名前空間: 何を使用するには? 名前空間。
  • std :名前空間 (またはstdなどの C++ 標準ライブラリの機能が宣言されている場所)。stringvector

この命令を書いた後、コンパイラはstring、 を参照している可能性があることを認識し、 を参照しているstd::string場合はvector、 を参照している可能性があることを認識しますstd::vector。(もちろん、それらが定義されているヘッダー ファイルをコンパイル ユニットに含めていることが条件です。)

あなたがそれを書かないと、コンパイラが何を参照しているのかわからないことがありますstring。またはvectorを明示的に指定する必要があります。そうしないと、コンパイル エラーが発生します。std::stringstd::vector

于 2013-09-20T10:43:51.157 に答える
30

その名前空間内のすべてのシンボルを呼び出すとusing namespace <some_namespace>;、名前空間プレフィックスを追加せずに表示されます。シンボルは、関数、クラス、変数などです。

たとえば、名前空間で定義された演算子を呼び出すときの代わりに、追加using namespace std;するだけで書くことができます。coutstd::coutcoutstd

名前空間は名前の衝突を避けるために使用されることを意図しているため、これはやや危険ですusing namespace。より良い代替手段は、特定のシンボルのみを使用して、名前空間プレフィックスなしでそれらを表示することです。例えば:

#include <iostream>
using std::cout;

int main() {
  cout << "Hello world!";
  return 0;
}
于 2013-09-20T10:17:00.637 に答える