C语言名字空间究竟是什么
为什么头文件为#include<iostream.h>就不用usingnamespacestd;而为#include<iostream>就需要有usingnamespac...
为什么头文件为#include<iostream.h>就不用using namespace std;而为#include<iostream>就需要有using namespace std; 名字空间究竟是什么东西 谢谢指教!!!
展开
2个回答
展开全部
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
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
展开全部
#include<iostream.h>这个头文件是c语言的
C语言没有命名空间 所以不用using namespace std;
#include<iostream>这个是c++的
c++有所以用using namespace std;
所谓的命名空间就是
为了防止自己去的名字和c++中的关键字相同
所以比如cout 要写为std::cout
但这样些很麻烦
所以加入using namespace std;
就可以间简写为cout
可能所不太明白
看下http://baike.baidu.com/view/1346913.htm
C语言没有命名空间 所以不用using namespace std;
#include<iostream>这个是c++的
c++有所以用using namespace std;
所谓的命名空间就是
为了防止自己去的名字和c++中的关键字相同
所以比如cout 要写为std::cout
但这样些很麻烦
所以加入using namespace std;
就可以间简写为cout
可能所不太明白
看下http://baike.baidu.com/view/1346913.htm
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询