引用参数的主要原因有两个:
-
程序员能够修改调用函数中的数据对象。
-
通过传递引用而不是整个数据对象,可以提高程序的运行速度。
对于使用传递的值而不作修改的函数
- 数据对象小,按值传递
- 数据对象是数组,使用指针(唯一的选择)
- 数据对象是比较大的结构,使用const引用或者const指针
- 数据对象是类对象,则使用const引用。
对于修改调用函数中数据的函数
- 如果数据对象是内置数据类型,则使用指针(比如:fixit(&x)这样的代码,x是int,则很明显,该函数将修改x)
- 如果对象是数组,则只能使用指针。
- 如果对象是结构,则使用引用或指针。
- 如果数据对象是类对象,则使用引用。