您的位置:首页 > 其它

引用和指针 传递参数

2010-11-25 12:30 302 查看
1、引用是建立变量(操作对象)别名,引用声明和变量本身针对的是同一地址。引用声明例为:

int case;

int & citecase=case;

int*pcase=case;

上述语句使case和citecase代表同一变量,它地地址为定义case时分配的内存地址。以上述例子来说明,引用和指针的不同之处我们可以令指针*pcase指向其它变量,但是一旦声明了引用,citecase就只是代表case的一个引用,而不能将它仔用来代表其它变量。例如:

int case1;

*pcase=case;       //right

&citecase=case;   //error

 

2、引用传递函数参数

传递引用给函数与传递指针效果一样,传递的是原来的对象或变量,可以对其进行改变。但是要注意二者在调用函数的时候参数写法的区别。

例:

(1)指针传参

 

void Swap(int * a, int * b);

 

void main()

{

int x=5;

int y=6;

cout<<"now:"<<x<<y<<endl;

 

Swap(&x, &y);        //采用取地址运算符传入地址

cout<<"later:"<<x<<y<<endl;

 

}

 

void Swap(int * a, int * b)       

{

int temp;

temp=*a;

*a=*b;

*b=temp;

}

 

(2)引用传参

 

void Swap(int &a, int & b);

 

void main()

{

int x=5;

int y=6;

cout<<"now:"<<x<<y<<endl;

 

Swap(x, y);        //引用传入地址

cout<<"later:"<<x<<y<<endl;

 

}

 

void Swap(int & a, int & b)       

{

int temp;

temp=a;

a=b;

b=temp;

}

 

///////////////////////////////////////////////////////

 

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: