前一段时间,我读了一篇文章,解释了参数依赖查找的几个陷阱,但是我再也找不到了。这是关于获得您不应该访问的东西或类似东西的权限。所以我想在这里问:ADL的陷阱是什么?
3 回答
慕侠2389804
TA贡献1719条经验 获得超6个赞
我想说这不是一个陷阱,而是一个功能:它允许您通过提供一种专门针对您的类型的实现来覆盖库行为。没有ADL,您将无法修改print
的行为以适应您的unicorn
类型。一个广泛使用的应用是swap
:许多标准算法需要交换值;您可以提供自己的优化版本,swpa
由于ADL而被选中。当然,最好在不需要时防止这种覆盖(最好不要强制使成员函数虚拟化)。
- 3 回答
- 0 关注
- 491 浏览
添加回答
举报
0/150
提交
取消