【问题标题】:Pointers vs References [duplicate]指针与引用[重复]
【发布时间】:2012-02-29 20:14:53
【问题描述】:

可能重复:
What are the differences between pointer variable and reference variable in C++?
difference between a pointer and reference parameter?

我一直遇到同样的问题:在 C++ 中,例如设置新类时,何时应该使用指针以及何时使用引用?

我应该总是更喜欢引用而不是指针吗?

我不太明白的是,引用不是作为指针实现的吗?

【问题讨论】:

  • 10-4,查看那个 SO 帖子。它应该回答你的问题。
  • 关于你的最后一个问题,打个比方:整数加法很可能是通过逻辑门的组合来实现的……但是,这并不意味着你必须这样考虑。跨度>

标签: c++ pointers reference


【解决方案1】:

在我看来,引用可能被实现为指针这一事实并没有真正考虑到这一点。

我个人的经验法则是 - 如果您传入的任何内容 必须 存在,请使用引用,因为引用始终必须绑定到对象。如果您传递的任何内容可能存在但不能保证存在,请使用指针并在使用前确保它是非空指针

【讨论】:

    【解决方案2】:

    是的,总是喜欢参考。引用是别名。是的,您可以将它们视为常量指针。您不能对它们进行任何指针运算,因此它们通常更安全,因为被调用者方法不能将它们弄乱。 您不必在被调用者中检查空引用,因为它不是指针。这是一个参考,因此不能为空。它必须是某物的别名。 所以是的,除非您有充分的理由使用指针,否则请使用引用。

    【讨论】:

      猜你喜欢
      • 2016-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-24
      • 2014-02-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多