C++的名字空间 是什么意思

来源:百度知道 编辑:UC知道 时间:2024/06/13 16:53:06

就是一个限定符号使用的区域, 例如A公司和B公司是两个命名空间, 如果这两个公司都有一个员工叫李平, 那再说李平的时候就要指明到底是哪个李平,如果是A公司的李平,就是
A::李平
如果是B公司的李平,就是
B::李平
之所以引入命名空间,是因为现在程序量比较大, 符号很可能引起冲突(大家都想用这个符号).所以加入命名空间来区别.

比如我和你都写了一个老婆类,加名字空间防止搞错
using namespace i;//下面都是哦的
wife w1;//我的wife
w1.OOXX();
using namespace you;//下面都是你的
wife w2;//你的wife
w2.OOXX();

namespace

相当于一个头文件,保护作用的,怕重名
引用的时候是::来调用

名字空间就是将代码包起来,并贴上标签。用法:
namespace MyLibrary{
namespace Math{
class MyClass;
void UserMyClass();
}
namespace UI{
...
}
}
从编程的角度来看,防止重名的确是最主要的作用。从逻辑上理解就是将复杂的业务归类,有助于体现分层的思想。比如前端展示、运算处理、数据序列化等分别用MyLibrary::UI, MyLibrary::Business, MyLibrary::Serialization等.
不同的文件或代码可以使用相同的namespace,这个有点像集合。