【问题标题】:Is always passing by reference a bad practice? [duplicate]总是通过引用传递是一种不好的做法吗? [复制]
【发布时间】:2013-08-06 19:01:21
【问题描述】:

首先,我想在这里澄清我的问题。在我的编码开发过程中,我发现自己在我的类成员函数中通过引用传递,除了那些内置类型。但是我有一个想法,为什么我不使用指针来传递参数(通过指针传递)。

通过引用传递而不是通过指针传递是一种不好的做法吗?

【问题讨论】:

  • 那么按值传递呢?
  • 为什么要通过指针而不是引用传递?用不必要的 *s 到处乱写代码?
  • 如果有必要,传递指针允许 nullptr。并且引用不允许重新分配。您可以更改它们指向的事物的值,但不能将它们指向不同的对象。

标签: c++ pass-by-reference pass-by-pointer


【解决方案1】:

一种常见的方式是通过 const 引用传递输入参数,并通过指针传递输出参数。在这种风格中,我们不通过非常量引用传递输出参数,以更清楚地描述输出参数的输入。

【讨论】:

  • 嗯,这就是在 Google 和其他地方编写代码的方式。这并不是说这是一个好主意。只是它已在大量软件中得到有效使用。
  • @H2CO3 这不是无脑的。这实际上很常见。看到somefunction(&someobj); 时很有用,因为更明显的是传入的对象将被修改
  • @RyanHaining 明白为什么我更喜欢 C 而不是 C++? (你说这更明显!)
  • 感谢您的信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-27
  • 2011-08-22
  • 2014-08-07
  • 1970-01-01
  • 1970-01-01
  • 2012-08-15
相关资源
最近更新 更多