我在理解 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 和一些有关正在使用的命名空间的信息。