-2

我想获得有关 References 和 Pointers 的一些说明:

  1. 引用和指针之间的异同点是什么?(实际上我更多的是关于“执行机制”的差异,而不是理论上的差异)

  2. 关于它们中的任何一个将在哪里使用,是否有任何经验法则?

  3. 与另一个相比,它们中的哪一个更有用。

这个问题的原因是关于执行包含引用和指针的语句的方法经常存在混淆。

提前致谢。

4

2 回答 2

1

在 C++ 中:

  1. 引用不能被重新定位并且必须引用一个对象,非const指针可以更改为指向其他东西,而指针可能根本不指向任何东西(nullptr)。它们都充当一些底层对象的句柄。
  2. 通常,指针主要与智能指针一起使用来处理在堆上创建的对象,而引用主要用于通过引用传递对象。
  3. 它们是不同的工具,说一个比另一个更有用是没有帮助的。
于 2013-08-20T16:21:23.007 回答
1
  1. 引用是一个指针,在初始化时必须给它一个指向对象,不能更改为指向另一个对象,并且使用不同的语法。

  2. 必须在运算符重载中使用引用,以提供视觉上令人愉悦的结果。除非需要 NULL 值,否则通常首选引用作为函数参数。一条特殊规则允许将临时对象传递给 const 引用。

  3. 严格比较?指针。

“对于包含引用和指针的语句的执行方法,经常存在混淆”

我不知道这是什么意思。如果您将带有引用的代码转换为带有指针的等效代码,它的工作方式应该相同。

引用是看起来更好并且在使用上有一些限制的指针。就这样。

于 2013-08-20T16:22:24.113 回答