C++中的命名空间
C++中的命名空间(namespace)是对标识符进行组织的一种机制,它主要用来避免命名冲突。命名空间允许开发者将程序的一部分组织为独立的、具有名称的区域内,这样在这些区域内定义的所有名字都将在一个命名空间的范围内,而不会影响到其他命名空间中的同名标识符。
管理名称、防止名称冲突的有效工具,尤其在大型项目和多人协作的项目中非常有用。
写一个命名空间
头文件
#ifndef CIR_H
#define CIR_H
namespace cir {
double PI = 3.14;
double getDOfCir(double r){
return PI*r*r;
}
double getAOfCir(double r){
return 2*PI*r;
}
}
#endif // CIR_H
源文件
#include <iostream>
#include "cir.h"
using namespace std;
using namespace cir;
int main()
{
double radius = 6.0;
cout << "Hello World!" << endl;
//cout << "C:" << cir::getDOfCir(radius) << endl;
//cout << "Aera:" << cir::getAOfCir(radius) << endl;
cout << "C:" << getDOfCir(radius) << endl;
cout << "Aera:" << getAOfCir(radius) << endl;
return 0;
}
有两种访问方式,一种是用“::”。另一种是用using namespace。
比如,c++的输入输出
using namespace std
也可以
std::cout
std::cin
当然,这得看项目具体问题具体分析,小白肯定用第一种省事。