ADL 的陷阱是什么?
作者:fredoverflow 提问时间:6/2/2010
前段时间我读了一篇文章,解释了参数依赖查找的几个陷阱,但我再也找不到了。这是关于获得你不应该访问的东西或类似的东西。所以我想在这里问:ADL 的陷阱是什么?...
argument-dependent-lookup 问答列表
作者:fredoverflow 提问时间:6/2/2010
前段时间我读了一篇文章,解释了参数依赖查找的几个陷阱,但我再也找不到了。这是关于获得你不应该访问的东西或类似的东西。所以我想在这里问:ADL 的陷阱是什么?...
作者:RoundPi 提问时间:10/5/2012
我有两个用于演示目的的 ADL 片段。这两个片段都是由VC10,gcc和comeau C++编译器编译的,这三个结果都是相同的。 <1>ADL 反对用户定义命名空间的 using 指令: #inc...
作者:city 提问时间:1/25/2013
#include <iostream> using namespace std; void swap(int *a, int *b) { *a = *a^*b; *b = *a^*b; *a...
作者:user3188445 提问时间:12/18/2014
我试图理解为什么以下代码无法编译: namespace ns { struct S {}; } namespace alleq { inline bool operator==(const ...
作者:Łukasz Wojakowski 提问时间:12/27/2015
我想知道是否可以让 ADL 选择在其中一个参数的类的命名空间(或其他一些定义明确的地方)中定义的函数模板,在其他函数模板可见的情况下。下面我举了一个鼓舞人心的例子,虽然我知道那个特定情况的解决方法(我...
作者:Ninja 提问时间:8/30/2019
只是想问一些关于命名空间的一般问题。如果类 A 继承了类 B 并且没有显式引用 () B 的命名空间,我是否必须在调用代码中显式命名空间才能从 A 的实例调用 B 的方法?这种语言是否依赖于(C#、C...
作者:H.v.M. 提问时间:9/14/2023
这个问题在这里已经有答案了: 为什么 ADL 找不到函数模板? (4 个答案) 2个月前关闭。 写作而不是在这里工作,因为依赖于参数的查找:tiestd::tie std::tuple<int, ...