什么时候通过引用和地址传递函数参数?

时间:2008-09-27 15:16:07

标签: c++ pointers function reference

有人可以用一些例子解释什么时候通过引用调用函数以及何时最好通过地址调用?

3 个答案:

答案 0 :(得分:3)

这已经讨论过了。请参阅Pointer vs. Reference

答案 1 :(得分:2)

尽可能使用引用将参数传递给函数。 通过引用传递参数消除了它们为NULL的可能性。 如果您希望可以将NULL值传递给函数,那么请使用指针。

答案 2 :(得分:2)

一个很好的约定是:

  • 通过函数操作对象按指针副作用输出)。
  • 通过const引用传递所有其他对象

这使得调用者非常清楚,只需要很少的文档和零性能成本,哪些参数是常量。

你也可以将它应用于原始类型,但是你是否需要对非输出参数使用const引用是有争议的,因为它们显然是按值传递的,不能作为函数的输出以任何方式(对于直接类型 - 当然不是指针/引用)。