c – 如何访问嵌套在命名空间中的未命名命名空间变量?
发布时间:2020-12-16 07:21:50 所属栏目:百科 来源:网络整理
导读:此问题已在链接中进行了讨论 unnamed namespace within named namespace但没有提供关于如何访问嵌套在命名空间下的未命名命名空间变量的完美答案,以防两个变量相同 考虑本规范 namespace apple { namespace { int a=10; int b=10; } int a=20;}int main(){co
此问题已在链接中进行了讨论
unnamed namespace within named namespace但没有提供关于如何访问嵌套在命名空间下的未命名命名空间变量的完美答案,以防两个变量相同 考虑本规范 namespace apple { namespace { int a=10; int b=10; } int a=20; } int main() { cout<<apple::b; //prints 10 cout<<apple::a; // prints 20 } 未命名的命名空间“变量a”始终是隐藏的.如何访问未命名的命名空间的“变量a”? 在命名空间中声明未命名的命名空间是否合法? 解决方法
看起来你根本无法限定封闭命名空间之外的未命名命名空间. 好吧,这是如何解决歧义: namespace apple { namespace { int a=10; } int getPrivateA() { return a; } int a=20; } int main() { cout<<apple::getPrivateA() << endl; cout<<apple::a << endl; } 见Live Demo. 虽然我知道没有完全回答你的问题(除了将未命名的命名空间嵌套在另一个命名空间内是合法的). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |