什么时候通过引用传递函数参数,何时通过地址传递?
时间:2020-03-06 14:49:31 来源:igfitidea点击:
谁能用一些例子解释什么时候最好通过引用调用函数,什么时候最好通过地址调用?
解决方案
已经讨论过了。请参见指针与参考。
尽可能使用引用将参数传递给函数。
通过引用传递参数消除了它们为NULL的可能性。
如果希望将NULL值传递给函数,请使用指针。
一个不错的约定是:
- 只要函数可以操纵对象(副作用或者作为输出),就可以通过指针传递对象。
- 通过const引用传递所有其他对象。
这使调用者非常清楚,只需最少的文档编制和零性能成本,即可知道哪些参数是const或者不是const。
我们也可以将其应用于原始类型,但是是否需要为非输出参数使用const引用仍存在争议,因为它们显然是按值传递的,并且不能以任何方式充当函数的输出(对于直接类型,当然不是指针/引用)。