为什么我们在 C++ 程序中需要 using namespace
和 include
指令?
例如,
#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/