C++のプリプロセッサと名前空間を理解するのに問題があります。たとえば、次のプログラムについて考えてみます。
#include <iostream>
int main()
{
using namespace std;
cout << "Hello World!" << endl;
return 0;
}
したがって、このプログラムをコンパイルする準備ができると、プリプロセッサは#includeディレクティブを認識し、iostreamファイルをプログラムに追加して、プログラムがI / O機能(つまり、「cout」および「endl」)を持つようにします。私の教科書によると、C ++コンパイラの標準コンポーネントであるクラス、関数、および変数は、名前空間stdに配置されています。
標準関数(「cout」と「endl」)がこの名前空間に配置されている場合、iostreamの目的は何ですか?私は基本的に、iostreamと使用中の名前空間に関する情報の両方が必要な理由を理解しようとしています。