#include using namespace std; C++命名空间是什么?

C++命名空间是什么?


命名空间, 就是把一些 class 变量 对象 等 归类 到 某 “空间”,也就是规入一个组。
想用某组时,用 using .... 表明。
例如:
 
命名空间 first,里面有 变量 var ,整型,初值 5
namespace first
{int var = 5;}
 
命名空间 second 里面有 变量 var ,double型,初值 3.1416
namespace second
{double var = 3.1416;}
 
如果有:
using namespace first;
cout << var << endl;
输出 5
 
如果有:
using namespace second;
cout << var << endl;
输出 3.1416
 
同样,不同空间 有同名函数变量,同名类,同名对象 和 不同名函数变量,类,对象。有了命名空间,便可找到 想要的那组 函数,变量,类,对象。



=====================================================================================


std是标准名字空间
一般使用 #include是不需要用 using namespace std;的
但是使用#include就一定要加 using namespace std
追问
那#include和using namespace std;就没有区别吗?
回答
这两个根本不是同一样东西
比如你用了 #inlucde,后面代码直接可以 这个头 文件里定义的东西了,例如 cout之类的
但是 using namespace std,表示使用 std 名字空间的东西,你如果加了 #include,才可以使用 cout, 如果不用using namespace std的情况下用 #include,还是不能直接使用cout;而是要用  std;cout才能使用
跟其实是对应的,只不过是把里面的东西封装到std名字空间去了,你应该去看一看为什么要有名字空间








其实很好理解的,有点类似于类,不同的命名空间下可以有相同名字的变量或函数,举个例子
#include 

namespace aaa
{
	void display();
}

namespace bbb
{
	void display();
}

void aaa::display()
{
	std::cout<<"Hello"< 
   

你可能感兴趣的:(各种,c++,类,库,iostream)