传值,传指针,传引用
传值
void swap(int a, int b);
int a1 = 2, b1 = 3;
swap(a1,b1);
--------------------------------
a=2, b=3 (a,b是局部变量,有自己的地址, a和a1, b和b1的地址是不同的,只是值相同而已)
传指针 (本质上也是传值,只不过传的是指针这个值)
void swap(int *a, int *b);
int a1 = 2, b1 = 3;
swap(&a1, &b1);
--------------------------------
a=a1的地址,b=b1的地址 (a,b是局部变量,有自己的地址,其值是a1,b1的地址,a,b是a1,b1的指针)
传引用
void swap(int &a, int &b);
int a1 = 2, b1 = 3;
swap(a1, b1);
-------------------------------
a的地址=a1的地址,b的地址=b1的地址 a和a1, b和b1在内存中重合
Java中只有值传递,C++中三种都有。
posted on 2013-12-24 22:39 Happykiller 阅读(311) 评论(0) 编辑 收藏 举报