猿问
ADL的陷阱是什么?
前一段时间,我读了一篇文章,解释了参数依赖查找的几个陷阱,但是我再也找不到了。这是关于获得您不应该访问的东西或类似东西的权限。所以我想在这里问:ADL的陷阱是什么?
jeck猫
浏览 492
回答 3
3回答
慕侠2389804
我想说这不是一个陷阱,而是一个功能:它允许您通过提供一种专门针对您的类型的实现来覆盖库行为。没有ADL,您将无法修改print的行为以适应您的unicorn类型。一个广泛使用的应用是swap:许多标准算法需要交换值;您可以提供自己的优化版本,swpa由于ADL而被选中。当然,最好在不需要时防止这种覆盖(最好不要强制使成员函数虚拟化)。
0
0
0
随时随地看视频
慕课网APP
相关分类
C++
typedef入门问题
1 回答
我要回答