为什么要发明参数依赖查找(ADL)?难道只是为了让我们可以写cout << stuff
代替std::operator<<(cout, stuff)
?如果是这样的话,为什么 ADL 不限于运算符而不是所有函数?
如果 C++ 有其他方法来执行内置类型和用户定义类型的通用输出(例如类型安全),ADL 的引入是否可以被阻止printf
通过可变参数模板?
ADL 的发明是为了允许接口原则:
接口原理
对于 X 类,所有函数,包括自由函数,都
逻辑上是 X 的一部分,因为它们构成 X 接口的一部分。
看看赫伯萨特的优秀作品本周大师关于这个话题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)