c++按地址传参–指针和引用

来源:互联网 发布:java输入数字 编辑:程序博客网 时间:2024/06/05 21:59

java里都是按值传递,而c++有按值传递,按地址传递(指针和引用)

#include <iostream>using namespace std;void swapByPoint(int *x,int *y);void swapByRef(int &x,int &y);int main(){    int x=5,y=10;    cout<<x<<":"<<y<<endl;    swapByPoint(&x,&y);    cout<<x<<":"<<y<<endl;    swapByRef(x,y);    cout<<x<<":"<<y<<endl;    system("pause");    return 0;}void swapByPoint(int *x,int *y){     cout<<*x<<":swapByPoint:"<<*y<<endl;     int tmp;     tmp=*x;     *x=*y;     *y=tmp;}void swapByRef(int &x,int &y){     cout<<x<<":swapByRef:"<<y<<endl;     int temp;     temp=x;     x=y;     y=temp;}

输出如下:



原文地址:http://ylk.name/?p=132

再在此复习下定义引用,int &a = b;就是定义一个引用。可以理解为为原来的变量起个别名。其实,a,b所代表的是同一块内存,只是名字不同。此外,注意按引用传递时请注意,定义函数时 为void com(&d),而在调用时为void com(a);

原创粉丝点击