什么是命名空间?
假设A班有一个人叫小王,B班也有一个人叫小王。
如果你在年级会议上叫小王,无法确认是A班的小王,还是B班的小王。
但是如果你叫A班小王,那么就不会引起误会。
这里的A班,就可以理解为命名空间
体现在程序里,可以理解为,同一个名字的变量或者函数,在不同的程序库中
如何定义命名空间
命名空间关键字:namespace
namespace A
{
int x=1;
void f1(){};
void f2(){};
}
namespace B
{
int x=1;
void f1(){};
void f2(){};
}
如何使用命名空间中的函数
A::f1(); ---->A中的f1()函数
B::f1(); ---->B中的f1()函数
也可以用using关键字提前声明要使用的命名空间
这样程序会默认你使用的是声明的命名空间
using namespace A;
int main(void)
{
f1();//前面声明使用命名空间A,此处就指命名空间A下的f1()函数
return 0;
}
当我们用cin和cout的时候
是不是要声明using namespace std;
因为cin和cout就在std这个命名空间里面
当然你也可以不声明,直接std::cin,std::cout