有,传值以用一般就是生成一个临时对象,而引用调用就是调用参数本身,举个例子swap(int a,int b){ int temp = a; a = b; b = temp;}main(){ int a = 5; int b = 6; swap(a,b); printf("%d,%d",a,b);}这是传值调用,a和B并没有改变。swap(int &a,int &b)//传值{ int temp = a; a = b; b = temp;}这个就修改成功了
引用可以直接对实参进行操作,而且不用返回值 ,效率高 传值调用有返回值时 只能返回一个值,有些时候不能满足需要,而且会产生临时对象,效率低一些。
满意请采纳