有关namespace命名空间的学习
1.C++中的namespace的介绍
首先命名空间是C++引入的一种解决全局变量和函数名冲突的机制
2.namespace是使用方法
namespace的三种使用方法
方式一
ace::Mutex mutex;
方式二
using ace::Mutex;
Mutex mutex;
方式三
using namespace ace;
Mutex mutex;
这里是不是对第一个C++代码有点熟悉
#include
using namespace std;
int main(void)
{
cout<<“hello C++.\n”<<endl;
return 0;
}
这里就使用了using namespace std;
而std就是一个命名空间
3.不同的C文件之间如何使用命名空间(namespace)
两种
第1种:
namespace NS1{void fun3(void);};
在后续访问到NS1作用域的函数时 NS1::fun3();或者添加访问命名空间域(using namespace NS1;)
示例:
cpp1文件中:
#include<iostream>
namespace NS1
{
using namespace std;
void fun3(void)
{
cout <<"fun3 printf\r\n"<< endl;
}
}
cpp2文件中:
namespace NS1{extern void fun3(void);};
using namespace NS1;
int main(void)
{
fun1();
return 0;
}
第2种:
namespace NS1{extern void fun3(void);};
在后续访问到NS1作用域的函数时 NS1::fun3();或者添加访问空间域(using namespace NS1;)
其实与第1种方法类似
4.默认命名空间
又称全局命名空间
默认命名空间引用其他命名空间
默认命名空间引用自己的方法
其他命名空间引用默认命名空间中的方法::f();//f()定义在默认名空间
注:博客是基于朱老师C++课程做的总结