为了账号安全,请及时绑定邮箱和手机立即绑定

ADL的陷阱是什么?

ADL的陷阱是什么?

C++
jeck猫 2019-12-27 09:56:32
前一段时间,我读了一篇文章,解释了参数依赖查找的几个陷阱,但是我再也找不到了。这是关于获得您不应该访问的东西或类似东西的权限。所以我想在这里问:ADL的陷阱是什么?
查看完整描述

3 回答

?
慕侠2389804

TA贡献1719条经验 获得超6个赞

我想说这不是一个陷阱,而是一个功能:它允许您通过提供一种专门针对您的类型的实现来覆盖库行为。没有ADL,您将无法修改print的行为以适应您的unicorn类型。一个广泛使用的应用是swap:许多标准算法需要交换值;您可以提供自己的优化版本,swpa由于ADL而被选中。当然,最好在不需要时防止这种覆盖(最好不要强制使成员函数虚拟化)。

查看完整回答
反对 回复 2019-12-27
  • 3 回答
  • 0 关注
  • 491 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信