我需要使用 'using namespace std' 命令吗?
Do I need to use the 'using namespace std' command?
我在 C++ 书中读到 -> C++ Programming: Visual Quickstart Guide
为了在没有 std::
的情况下使用 cin
和 cout
等语句,您需要添加行 using namespace std
.
但是目前我正在学习 A-level 计算机科学,使用 C++ 和 CBuilder,我不必将该行添加到我的程序中 - 因为我能够使用 cout
和 cin
自己没有 运行 任何错误。
那其实不需要吗?或者 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::
.
我在 C++ 书中读到 -> C++ Programming: Visual Quickstart Guide
为了在没有 std::
的情况下使用 cin
和 cout
等语句,您需要添加行 using namespace std
.
但是目前我正在学习 A-level 计算机科学,使用 C++ 和 CBuilder,我不必将该行添加到我的程序中 - 因为我能够使用 cout
和 cin
自己没有 运行 任何错误。
那其实不需要吗?或者 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::
.