作为一般规则,在函数参数中使用引用并返回 类型来定义有吸引力的接口使用指针来实现 算法和数据结构。
我在一篇文章中读到了这一行。我怀疑为什么参考不能用于算法和数据结构?
请帮我解决原因。
答案 0 :(得分:7)
因为在初始化引用特定的对象之后,无法引用任何其他对象。
作为证据,标准的§8.5.3.2说
之后无法更改引用以引用其他对象 初始化。请注意,处理引用的初始化 与赋值完全不同。论证传递(5.2.2)和 函数值return(6.6.3)是初始化。
数据结构和算法(尽管程度较小)通常涉及在自身内添加,删除和重新排序对象。使用引用时,您无法执行此操作,因此您可以使用指针以低成本执行此操作。