C++的using namespace std放在哪里

2024-12-31 15:21:25
推荐回答(5个)
回答1:

都可以,作用域不一样。

第一种是整个文件中都引入了std命名空间,第二种则是只在main函数中引入std命名空间。
如果为了贪图方便,直接用第一种写法也行,但是C++ Primer中建议用第二种写法,这样可以防止命名空间污染(在你不想引入它的地方也被引入了,就可能导致一些问题。)

另外无论如何,都不应该把using namspace 这种语句写在头文件中,很容易出问题的。

回答2:

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

回答3:

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名字空间下的定义

回答4:

我见到的基本是
#include
using namespace std

98年以后的c++语言提供一个全局的命名空间namespace,可以避免导致全局命名冲突问题。
如果写到函数里面应该是作用域变小了吧。
参考一下百科

回答5:

第一种。。。。