为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C++ C
POPMUISE 2021-12-02 11:07:51
如题,请问using namespace std 放在:#include<iostream>using namespace stdint main(){`` ````````}还是放在:#include<iostream>int main(){using namespace std;············································}请说明下! 谢谢
查看完整描述

3 回答

?
桃花长相依

TA贡献1860条经验 获得超8个赞

using namespace std
c++ 中有名字空间的概念,它是为了解决不同版本代码的兼容问题
如:
namespace A
{
void test();
}

namespace B
{
void test();
}

如果
using namespace A;
就是使用A的函数
using namespace B;
使用B的函数

不写,
直接 A::test()
B::test() 也可以

std也是这个意思,
放在最前面即可,意思说,后面的采用std名字空间下的定义



查看完整回答
反对 回复 2021-12-07
?
catspeake

TA贡献1111条经验 获得超0个赞

例子:
#include
void 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后面的,就不会出现上面的问题,这就有点类似全局变量和局部变量的关系。函数内定义为局部变量,出了这个函数,别的函数不可以使用。
全局变量所有函数都可以使用。



查看完整回答
反对 回复 2021-12-07
?
Helenr

TA贡献1780条经验 获得超3个赞

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

查看完整回答
反对 回复 2021-12-07
  • 3 回答
  • 0 关注
  • 733 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信