あなたがいることを宣言した場合namespace std
を使用している場合は、名前空間の名前の前に接頭辞を付けずに、特定の名前空間内のすべての関数とオブジェクトにアクセスできることをコンパイラーに指示します。
iostream
は実際にはヘッダーです。しかし、このヘッダーの中にはプロトタイプが宣言されており、それらは名前空間内に編成されています(その場合はstd
)。
C++標準開発ライブラリに応じて、ファイルiostream
の内容が異なる場合があります。しかし、標準ライブラリの実装は...標準です。
ここでは、ソースコードの例を見てみましょう:GCC - Libstdc++ iostream
あなたは、ヘッダー内namespace std
内で宣言された関数を参照することができますいくつかのIDE(Visual Studioと短所こと
00043 namespace std _GLIBCXX_VISIBILITY(default)
00044 {
...
00061 extern istream cin; /// Linked to standard input
00062 extern ostream cout; /// Linked to standard output
00063 extern ostream cerr; /// Linked to standard error (unbuffered)
00064 extern ostream clog; /// Linked to standard error (buffered)
...
00067 extern wistream wcin; /// Linked to standard input
00068 extern wostream wcout; /// Linked to standard output
00069 extern wostream wcerr; /// Linked to standard error (unbuffered)
00070 extern wostream wclog; /// Linked to standard error (buffered)
...
注意を)は、構文的補完を提供して、名前空間またはクラススコープ内にあるものを表示することができます。
いつでもソースコードを見ることができます。 – Charles
C++言語仕様には何もありません。使用しているC++コンパイラのドキュメントを参照する必要があります。おそらくあなたのC++コンパイラには、この情報を取得するために使用できるコンパイラ固有のツールがいくつかあります。 –
名前空間内にあるものを一覧表示するための唯一のツールは、その名前空間内にあるもののドキュメントです。ネームスペース 'std'については、そのドキュメントは標準で(数百ページに渡って)、オンラインですぐに入手可能なさまざまなリファレンスドキュメントにあります。名前空間は複数のコンパイル単位(およびヘッダー)にわたって宣言することができるため、コンパイラは名前空間のすべての可視性を持たない可能性があります。 – Peter