使用引用参数的原因主要有两个:
- 方便修改调用函数中的数据对象
- 通过传递引用,提高程序运行速度
需要解释一下传递引用参数实际上是基于指针的代码的另一个接口。
关于何时使用引用、指针或按值传递的指导原则如下:
对于使用传递的值而不作修改的函数
- 如果数据对象很小,则按值传递;
- 如果数据对象是数组,则使用const指针;
- 如果数据对象是较大的结构,则使用const指针或者const引用;
- 如果数据对象是类对象,则使用const引用。
对于修改调用函数中数据的函数
- 如果数据对象是内置数据类型,则使用指针;
- 如果数据对象是数组,只能使用指针;
- 如果数据对象是结构,使用引用或指针;
- 如果数据对象是类对象,则使用引用。
注:引用自《C++ Primer第六版》