本文共 530 字,大约阅读时间需要 1 分钟。
解决名字冲突的终极手段:namespace,名字空间
语法为: namespace XXX { //把类和函数写在这个大括号里面 class YYY {};
}//<-这里不需要分号
使用namespace中的名字 加上一个名字前缀 XXX::YYY obj; XXX::Test();namespace XXX { void Test() { printf("hello,world!\n"); }}int main(){ XXX::Test(); return 0;}
解除前缀:using 关键字
如果觉得每次加上前缀麻烦,可以用using关键字来解除前缀(如果确定不会名字冲突,则可以这么做) using namespace XXX;//使用XXX里面的所有名字 using XXX::YYY;//只使用XXX里面的一个名字YYY在大型模块时可能用到namespace语法
一般情况下,在自己写项目代码的时候,不太可能需要使用namespace。。。 不过,在某些第三方库是有namespace的,因此我们在使用这些库的时候,要确定要不要用using解除名字前缀。 (每次加一个前缀也挺麻烦的)转载地址:http://vevzb.baihongyu.com/