前段时间我读了一篇文章解释了参数依赖查找的几个缺陷,但我再也找不到了.它是关于获取您不应该访问的东西或类似的东西.所以我想我会在这里问:ADL的缺陷是什么?
c++ namespaces overload-resolution argument-dependent-lookup
这个问题已经在命名空间内的未命名命名空间链接中讨论过 ,但对于如何访问嵌套在命名空间下的未命名命名空间的变量(如果两个变量相同)没有提供完美的答案
考虑这段代码
namespace apple {
namespace {
int a=10;
int b=10;
}
int a=20;
}
int main()
{
cout<<apple::b; //prints 10
cout<<apple::a; // prints 20
}
Run Code Online (Sandbox Code Playgroud)
未命名的命名空间"variable a"始终是隐藏的。如何访问"variable a"未命名的命名空间?
在命名空间内声明未命名的命名空间是否合法?