为什么我们在 C++ 程序中需要 using namespaceinclude 指令?

例如,

#include <iostream>

using namespace std;

int main() {
 cout << "Hello world";
}

为什么只有 #include <iostream> 或只有 using namespace std 并摆脱另一个是不够的?

(我正在考虑与 Java 进行类比,其中 import java.net.* 将从 java.net 导入所有内容,您无需执行任何其他操作。)

最佳答案

C++ 中,概念是分开的。这是设计使然并且很有用。

您可以包含没有命名空间的内容会不明确。

使用命名空间,您可以引用两个具有相同名称的不同类。当然,在这种情况下,您不会使用 using 指令,或者如果您使用了,则必须在所需的 namespace 中指定其他内容的 namespace 。

另请注意,您不需要使用 - 您可以只使用 std::cout 或您需要访问的任何内容。以命名空间作为项目的开头。

关于C++ 命名空间和包含,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/389922/

10-15 07:53