C语言名字空间究竟是什么
发布网友
发布时间:2022-03-23 06:35
我来回答
共2个回答
热心网友
时间:2022-03-23 08:04
#include<iostream.h>这个头文件是c语言的
C语言没有命名空间 所以不用using namespace std;
#include<iostream>这个是c++的
c++有所以用using namespace std;
所谓的命名空间就是
为了防止自己去的名字和c++中的关键字相同
所以比如cout 要写为std::cout
但这样些很麻烦
所以加入using namespace std;
就可以间简写为cout
可能所不太明白
看下http://ke.baidu.com/view/1346913.htm
热心网友
时间:2022-03-23 09:22
1、C语言没有命名空间 所以不用using namespace std;C++才有命名空间的概念。
2、c++ 中引入namespace(名字空间)的概念,主要是为了减少名字冲突的问题,随着源代码规模的增大,产生名字冲突的可能性也会越来越高,如两家公司的类库中都有一个名为“Stack”的类,那么当你需要同时用到这两个公司的类库时,就会产生名字冲突,无法区分是哪一个Stack,因此,一般公司都会把自己的类,函数,变量等放在一个名字空间中,防止冲突,比如:
namespace s1{
int a = 10;
}
namespace s2{
int a = 20;
}
这样就在两个名字空间中声明了两个不同的变量 a,
如果想要同时在一个源文件中使用这两个 a,可以这样做:
int c = s1::a; // 表示 s1 中的 a
int d = s2::a; // 表示 s2 中的 a