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

时间:2015-10-13 15:13:50

标签: c++ ide std cout cin

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

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

那不是真的需要吗?或者Cbuilder本身是否配置std

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

3 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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

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

没有using声明。

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

cout << "Hello world" << endl;

这是一个选择。我个人更喜欢省略using语句并在适当的位置明确插入std::

答案 2 :(得分:0)

这取决于您使用的编译器。有些编译器会为您添加它。但是对于你自己的好事,当然还有知识,添加using namespace std;或者你必须放std::