目录
目的
为了更好换的控制标识符的作用域,标准C++引入了关键字namespace(命名空间/名域)。
命名空间的自定义与使用
#include <iostream>
/**
* 定义一个简单的命名空间并打印输出命名空间的元素
*/
namespace defineSimpleSpace {
int simpleValue = 10;
}
int printSimpleSpace(void)
{
std::cout << defineSimpleSpace::simpleValue << std::endl;
return 0;
}
/**
* 定义一个多重命名空间,打印输出其中的元素,使用命名空间内的结构体定义变量,
* 打印结构体中的成员变量
*/
namespace defineMultiSpaceFrst {
int multiValue = 20;
namespace defineMultiBSpaceScnd {
struct spaceStruct {
int multiValue = 15;
};
}
namespace defineMultiBSpaceThrd {
struct spaceStruct {
int multiValue = 10;
};
}
struct spaceStruct;
}
int printMultiSpace(void)
{
/* 打印命名空间内的元素 */
std::cout << defineMultiSpaceFrst::multiValue << std::endl;
/* 定义结构体变量,打印输出成员变量的值 */
defineMultiSpaceFrst::defineMultiBSpaceScnd::spaceStruct multiValue;
std::cout << multiValue.multiValue << std::endl;
return 0;
}
int main()
{
printSimpleSpace();
printMultiSpace();
system("pause");
}
输出结果为: