Hik*_*aki 13 c++ namespaces using-directives
我想知道放在哪里using namespace std;.我看到的代码using namespace std;中int main(){} ,但我以后把它#include <iostream>.我应该把它放在哪里,它在我放的地方有什么不同吗?
Ed *_* S. 14
在函数内部添加它只会将using语句的范围限制为该函数.您不应该using在标头内放置语句,以避免头文件用户发生冲突.
如果您知道不会发生冲突,那么将它置于文件范围的main之上是好的,但即使这可能会导致其他导入类型出现问题,并且通常在中等大小的项目中要避免.我尽量避免污染全局命名空间,但如果我正在编写一个一次性的小实现文件,我会using namespace std;在顶部添加一个以方便起见.
在您的情况下,假设您只想使用std::cout和std::cin(只是一个示例),您可以这样做:
using std::cout;
using std::cin;
Run Code Online (Sandbox Code Playgroud)
现在,您可以在每次完全限定类型/对象的情况下进行编写cin >> whatever,cout << whatever也可以避免污染全局命名空间.