为什么我们不能在算法和数据结构中使用引用?

时间:2011-09-12 14:17:55

标签: c++

  

作为一般规则,在函数参数中使用引用并返回   类型来定义有吸引力的接口使用指针来实现   算法和数据结构。

我在一篇文章中读到了这一行。我怀疑为什么参考不能用于算法和数据结构?

请帮我解决原因。

1 个答案:

答案 0 :(得分:7)

因为在初始化引用特定的对象之后,无法引用任何其他对象。

作为证据,标准的§8.5.3.2说

  

之后无法更改引用以引用其他对象   初始化。请注意,处理引用的初始化   与赋值完全不同。论证传递(5.2.2)和   函数值return(6.6.3)是初始化。

数据结构和算法(尽管程度较小)通常涉及在自身内添加,删除和重新排序对象。使用引用时,您无法执行此操作,因此您可以使用指针以低成本执行此操作。