命名空间:命名空间是用来组织和重用代码的编译单元,其主要作用是:能够对代码进行逻辑分组,防止命名冲突。
1:命名空间的定义;
2:命名空间的使用;
3:命名空间可以分开定义;
4:在命名空间中函数的声明和定义可以分开;
5:全局函数的命名空间使用;
6:命名空间声明,让命名空间中的部分内容暴露出来;
下面用一段代码对上面问题作一个代码演示:#include<iostream>
//命名空间的定义
namespace nameOne{
void print()
{
std::cout << "namespace nameOne!" << std::endl;
}
}
namespace nameTwo{
void print()
{
std::cout << "namespace nameTwo!" << std::endl;
}
}
//命名空间可以分开定义
namespace nameTwo{
int add(int a, int b)
{
return a + b;
}
//在命名空间中声明函数,在命名空间之外定义函数
int sub(int a, int b);
}
int nameTwo::sub(int a, int b)
{
return a - b ;
}
//全局函数的命名空间情况
void print()
{
std::cout << "全局函数!" << std::endl;
}
int main()
{
//命名空间的使用
nameOne::print();
std::cout << nameTwo::add(10, 20) << std::endl;
std::cout << nameTwo::sub(30, 20) << std::endl;
::print();//全局函数相当于没有命名空间,所以直接用::就可以了
//命名空间声明,让命名空间中的部分内容暴露出来;也可以使用using
//namespace 命名空间命名,让其全部暴露出来
using nameTwo::sub;
std::cout << sub(30, 20) << std::endl;
return 0;
}