我在C ++书中读到了 - > C++ Programming: Visual Quickstart Guide
为了使用cin
和cout
之类的语句而不使用std::
,您需要添加第using namespace std
行。
然而目前我正在使用C ++和CBuilder进行A-level计算机科学,而且我不必将该行添加到我的程序中 - 因为我能够使用他们自己cout
和cin
没有遇到任何错误。
那不是真的需要吗?或者Cbuilder本身是否配置std
?
简而言之:尽管我没有声明我没有使用它,为什么我可以跳过使用std?
答案 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::
。