编写程序过程中,名称(name)可以是符号常量、变量、函数、结构、枚举、类和对象等等。工程越大,名称互相冲突性的可能性越大。另外使用多个厂商的类库时,也可能导致名称冲突。为了避免,在大规模程序的设计中,以及在程序员使用各种各样的 C++ 库时,这些标识符的命名发生冲突,标准 C++ 引入关键字 namespace(命名空间/名字空间/名称空间),可以更好地控制标识符的作用域。
/*
* 只能在全局定义,即函数外
* 支持多种类型,且可随时新增成员
* 支持嵌套定义
*/
namespace lzb
{
int age = 18;
}
namespace lzb
{
int height = 180;
string name = "lzb";
void show()
{
cout << "age=" << age << endl;
cout << "height=" << height << endl;
cout << "name=" << name << endl;
}
}
namespace yuer
{
int age = 16;
int height = 160;
string name = "yuer";
void show()
{
cout << "age=" << age << endl;
cout << "height=" << height << endl;
cout << "name=" << name << endl;
}
}
//using namespace lzb;
int main()
{
lzb::show();
yuer::show();
}