请问该把代码using namespace std放在哪里?

如题,请问using namespace std 放在:#include<iostream>
using namespace std
int main()
{
`` ````````
}
还是放在:#include<iostream>
int main()
{
using namespace std;
·······················
·····················
}

请说明下! 谢谢

POPMUISE
浏览 642回答 3
3回答

桃花长相依

using namespace stdc++ 中有名字空间的概念,它是为了解决不同版本代码的兼容问题如:namespace A{void test();}namespace B{void test();}如果using namespace A;就是使用A的函数using namespace B;使用B的函数不写,直接 A::test()B::test() 也可以std也是这个意思,放在最前面即可,意思说,后面的采用std名字空间下的定义

catspeake

例子:#includevoid show(int a){cout<<"age = "<//表明命名空间在这里没有起到作用。}int main(){using namespace std;int age;cout<<"please input information:"<cout<<"How ola are you?"<cin>>age;show(age);return 0;}也就是说这种情况,只在这个函数中起作用,对于其他函数不起作用。而放在#include后面的,就不会出现上面的问题,这就有点类似全局变量和局部变量的关系。函数内定义为局部变量,出了这个函数,别的函数不可以使用。全局变量所有函数都可以使用。

Helenr

都可以,作用域不一样。第一种是整个文件中都引入了std命名空间,第二种则是只在main函数中引入std命名空间。如果为了贪图方便,直接用第一种写法也行,但是C++ Primer中建议用第二种写法,这样可以防止命名空间污染(在你不想引入它的地方也被引入了,就可能导致一些问题。)另外无论如何,都不应该把using namspace 这种语句写在头文件中,很容易出问题的。
打开App,查看更多内容
随时随地看视频慕课网APP