引用操作

引用,相当于给变量再起一个别名,和另一数据共享存储空间,例

#include <iostream>
using namespace std;

int main()
{
    int a;
    int & ref=a;
    a=5;
    cout<<"a: "<<a<<" ;ref: "<<ref<<endl;
    ref = 8;
    cout<<"a: "<<a<<" ;ref: "<<ref<<endl;


}

引用,最大的用处作为函数参数传递,就可以直接操作相对应的存储空间,而不是像普通函数参数传递一样存在一个拷贝的操作,见例

1、普通函数参数传递,本例中并不能交换a,b的值

#include <iostream>
using std::cout;
using std::endl;
void Swap(int  x,int  y);
int main()
{
    int a,b;
    a=10,b=20;Swap(a,b);
    cout<<a<<" "<<b<<endl;
}
void Swap(int  x,int  y)
{
    int t;t=x;x=y;y=t;
}

2、引用参数传递,相当于直接操作a,b变量

#include <iostream>
using std::cout;
using std::endl;
void Swap(int & x,int & y);
int main()
{
    int a,b;
    a=10,b=20;Swap(a,b);
    cout<<a<<" "<<b<<endl;
}
//x与a等价,y与b等价
void Swap(int & x,int & y)
{
    int t;t=x;x=y;y=t;
}

 可以发现,引用参数传递的时候,只是在定义函数的参数不一样之外,其他和普通函数使用方法一致

猜你喜欢

转载自blog.csdn.net/Li_haiyu/article/details/81626716