赞
踩
传值 传地址 传引用
1 传值
优点: 函数的副作用不会影响外部的实参 ;代码可读性较高
缺点: 传参效率低 ; 不能通过形参改变实参 ,对实参有保护作用
void swap(int x,int y){
int temp=x;
x=y;
y=temp;
}
2 传地址
优点: 传参效率高 传地址只需要4个字节(确定) 传值变量大小不确定,有可能占很大空间; 可以通过形参改变实参
缺点: 指针不安全,可读性差
void swap(int *x,int *y){
int temp=*x;
*x=*y;
*y=temp;
}
备注: 优点和缺点不是固定的属性,随着应用场景的改变 ,优点可能变成缺点 ,缺点也可能变成优点
3 传引用
优点: 兼并了传值和传指针的优点
1. 一方面拥有指针的高传参效率
2. 另一方面拥有传值的的高可读性.
3. 而且比传指针更安全,可以通过形参来改变实参.
void swap(int& x, int& y){
int temp = x;
x = y;
y = temp;
}
int main(){
int a = 20;
int b = 30;
swap(a, b);
printf("%d\n", a);
printf("%d\n", b);
system("pause");
return 0;
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。