对于常用数据类型来说(char, short, int, long, float, double)这样的参数来说,再不需要更改参数原值的情况下,引用参数和按值传递参数没太大区别。然而对于大型的数组或者其他其他数据类型如类对象,结构体来说按值传递的拷贝开销太大,效率偏低,因此此时不适合按值传递参数。
此外,对于类模板来说,使用参数来初始化其元素时(元素类型由类模板定义类型决定),使用引用参数才更通用,比如一个队列的元素是另一个类(如矩阵或复数类),使用引用实例化对像性能就更为优越。
对于常用数据类型来说(char, short, int, long, float, double)这样的参数来说,再不需要更改参数原值的情况下,引用参数和按值传递参数没太大区别。然而对于大型的数组或者其他其他数据类型如类对象,结构体来说按值传递的拷贝开销太大,效率偏低,因此此时不适合按值传递参数。
此外,对于类模板来说,使用参数来初始化其元素时(元素类型由类模板定义类型决定),使用引用参数才更通用,比如一个队列的元素是另一个类(如矩阵或复数类),使用引用实例化对像性能就更为优越。