我需要使用 'using namespace std' 命令吗?

Do I need to use the 'using namespace std' command?

本文关键字:std 命令 namespace using      更新时间:2023-10-16

我在c++书-> C++ Programming: Visual Quickstart Guide中读到,为了使用cincout等语句而不使用std::,您需要添加using namespace std行。

然而,目前我正在做a级计算机科学,使用c++和CBuilder,我不需要添加那一行到我的程序-因为我能够使用coutcin在他们自己没有遇到任何错误。

它实际上是不需要的吗?还是Cbuilder配置std本身?

简而言之:为什么我能够跳过使用std,尽管没有声明我不使用它?

一些编译器/库在标准方面比其他的更宽松:根据标准,你的程序不应该编译。命名空间污染(将名称放在它们不属于的命名空间中,在本例中是全局命名空间)经常发生,当您切换到另一个编译器和/或标准库时,会导致这些和类似的错误。

除非CBuilder有一个选项来添加一个隐式的using namespace std;到它编译的一切(这将是可怕的),以上是所有人都可以告诉你的。没有"配置"发生在任何地方,不确定您是什么意思

不,您不需要using语句。它是代码内联显式名称空间引用的替代方法。例如,您可以使用

std::cout << "Hello world" << std::endl;

没有using语句

或者,您可以包括using namespace std语句,然后代码:

cout << "Hello world" << endl;

这是一个选择。我个人倾向于省略using语句并在适当的地方显式插入std::

这取决于您使用的编译器。有些编译器会为您添加它。但是为了你自己的利益和知识,添加using namespace std;或者你必须输入std:: .