- C++引用的好处,其实最基本的就是不会产生过多的内存拷贝。比如下述情况
// 普通形参。调用f_b时,对于参数产生了多份内存拷贝
void f_b( T param)
{
f_c(T param);
}
void f_c(T param)
{
f_d(T param);
}
// 引用形参。不会产生多份内存拷贝
void f_b(const T& param)
{
// ....
}
-
对于int、bool之类的形参变量,其实可以忽略,但对于自定义的数据类型,传参时内存拷贝这些事就要尽量避免了。假如A调用B类的方法,B类调用C类的方法,等等,经过了很多次调用。每次调用都要拷贝内存的话,效率就低了许多。
-
T& param 和 const T& param。两者最主要的区别,其实就是可不可以改变形参的值,加上const 限定的话,可以保证在参数传递的过程中,实参的值不变。
// T& param
void f(T& param)
// const T& param
void f(const T& param)