1.值传递
int fun(int);
特点:不能改变实参值;需拷贝实参的完整数据。
适用:对于基本类型,通常采用值传递的方式传参。
2.引用形参
type fun(type&);
特点:可改变实参值;不需完整拷贝,只得到实参的一个引用。
适用:需要改变实参值,如一个函数需要返回多个值的情况,可用引用形参接收返回值。
3.const引用形参
type fun(const type&);
特点:不可改变实参值;不需完整拷贝。
适用:参数为占用内存较大的对象时,引用传递代替值传递可提高效率,降低内存占用。同时为了防止函数中对实参的修改,用const关键字加以限制。