发布网友 发布时间:2022-05-10 20:23
共1个回答
热心网友 时间:2023-10-28 22:41
一个嵌套命名的空间即是一个嵌套作用域——其作用域嵌套在包含它命名空间内部。嵌套命名空间中的名字遵循常规规则:外围命名空间中声明的名字被嵌套命名空间声明中同一名字的声明所屏蔽。嵌套命名空间内部定义的名字局部于该命名空间。外围命名空间之外的代码只能通过限定名引用嵌套命名空间中的名字,嵌套命名空间可以改进库中代码的组织。例如:namespacecpIuspIus_primer{//firstnestednamespace://definestheQuerYportionkfthelibrarynamespaceQueryLib{cIassQuery{/*...*/};Queryoperator&(constQuery&,constQuery&);//...}//secondnestednamespace://definestheSaIes_itemportionofthelibrarynamespaceBookstore{cIassItem_base{/*...*/};cIassBuIK_item:pbIicItem_base{/*...*/};//...}}命名空间cpIuspIus_primer现在包含两个嵌套命名的空间:名为QueryLib的命名空间和名为Bookstore的命名空间,当库提供者需要防止库中每个部分的名字与库中其它部分的字冲突的时候,嵌套命名的空间是很有用的。嵌套命名的空间中成员的名字由外围命名空间的名字和嵌套命名的空间的名字构成。例如:嵌套命名的空间QuerYLib中声明的类的名字是:cpIuspIus_primer::QueryLib::Query这个应该可以帮的到你吧我想.嘻嘻