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

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

我在 C++ 书中读到 -> C++ Programming: Visual Quickstart Guide 为了在没有 std:: 的情况下使用 cincout 等语句,您需要添加行 using namespace std.

但是目前我正在学习 A-level 计算机科学,使用 C++ 和 CBuilder,我不必将该行添加到我的程序中 - 因为我能够使用 coutcin 自己没有 运行 任何错误。

那其实不需要吗?或者 Cbuilder 自己配置 std

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

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

除非 CBuilder 有一个选项可以将隐式 using namespace std; 添加到它编译的所有内容(这太可怕了),否则以上是任何人都可以告诉你的。任何地方都没有 "configuring" 发生,不确定你的意思。

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

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

没有 using 语句。

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

cout << "Hello world" << endl;

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

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