注:转载请标明原文出处链接: https://editor.youkuaiyun.com/md/?articleId=107171098
什么是命名空间?
命名空间的作用
为了避免变量或函数重命名的问题,在不同的作用域中可以定义相同名字的变量,互不干扰。
比如同一栋楼A公司和B公司都有叫小王的员工,如果在楼下直接叫小王,可能会产生误会,直接叫XX公司小王可避免误会。
C公司购买A公司和B公司代码,这2家公司相同变量名C公司要怎么使用?
代码示例:
#include<iostream>
#include<stdlib.h>
namespace A
{
int x = 1;
void fun()
{
std::cout << "A" << std::endl;
}
}
namespace B
{
int x = 2;
void fun()
{
std::cout << "B" << std::endl;
}
void fun2()
{
std::cout << "2B" << std::endl;
}
void fun3()
{
std::cout << "3B" << std::endl;
}
}
using namespace B;
int main(void)
{
std::cout << A::x << std::endl; //调用A公司的x变量
B::fun(); //调用B公司的fun函数
B::fun2(); //调用B公司的fun2函数
fun3();//由于在开始写了using namespace B,因此即使没有调用B公司的fun3函数,也会自动调用B公司的fun3函数
system("pause");
return 0;
}
运行结果:
命名空间的特点
- 命名空间的名字不可以重复;
- 使用namespace定义命名空间;
- 通过命名空间可区分同名变量和同名函数。