嵌套命名空间它的含义是什么,怎么去理解??
1个回答
展开全部
一个嵌套命名的空间即是一个嵌套作用域——其作用域嵌套在包含它命名空间内部。嵌套命名空间中的名字遵循常规规则:外围命名空间中声明的名字被嵌套命名空间声明中同一名字的声明所屏蔽。嵌套命名空间内部定义的名字局部于该命名空间。外围命名空间之外的代码只能通过限定名引用嵌套命名空间中的名字,嵌套命名空间可以改进库中代码的组织。
例如:namespace cpIuspIus_primer{
// first nested namespace:
// defines the QuerY portion kf the library
namespace QueryLib{
cIass Query{ /* . . . */ };
Query operator&(const Query&, const Query&);// . . .}// second nested namespace:
// defines the SaIes_item portion of the library
namespace Bookstore {
cIass Item_base { /* . . . */ };
cIass BuIK_item : pbIic Item_base { /* . . . */ };/ / . . .}}命名空间cpIuspIus_primer 现在包含两个嵌套命名的空间:名为QueryLib的命名空间和名为Bookstore的命名空间,当库提供者需要防止库中每个部分的名字与库中其它部分的字冲突的时候,嵌套命名的空间是很有用的。
嵌套命名的空间中成员的名字由外围命名空间的名字和嵌套命名的空间的名字构成。
例如:namespace cpIuspIus_primer{
// first nested namespace:
// defines the QuerY portion kf the library
namespace QueryLib{
cIass Query{ /* . . . */ };
Query operator&(const Query&, const Query&);// . . .}// second nested namespace:
// defines the SaIes_item portion of the library
namespace Bookstore {
cIass Item_base { /* . . . */ };
cIass BuIK_item : pbIic Item_base { /* . . . */ };/ / . . .}}命名空间cpIuspIus_primer 现在包含两个嵌套命名的空间:名为QueryLib的命名空间和名为Bookstore的命名空间,当库提供者需要防止库中每个部分的名字与库中其它部分的字冲突的时候,嵌套命名的空间是很有用的。
嵌套命名的空间中成员的名字由外围命名空间的名字和嵌套命名的空间的名字构成。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询