什么是引用?
引用就是一个别名,相当于同一种东西另一种叫法
父亲 有的人叫爸爸,有的人叫爹
引用的定义方法
类型& 引用名 = 被引用的对象;
int a=100;
int& ra=a;
ra就是a别名
引用定义之后需要进行初始化 一旦初始化后,在引用的生命期就不能再引用其它的对象。
#include <iostream>
using namespace std;
int main()
{
int a=100;
int& ra=a; //ra初始化后不能再引用其它的对象
a=123;
cout << "ra=" << ra << endl;
int b=200;
/* 代表把b的值赋值给ra */
ra=b;
int& rra=ra;
cout << &a << endl;
cout << &ra << endl;
cout << &rra << endl;
/* 常引用 */
const int& ci=200;
}
引用的应用
1.作为函数的参数值传递
值传递:
传递变量的值
传递变量的地址值
引用传递:
引用类型作为函数参数
const 防止参数在函数内部被修改。
const 修饰的引用 可以增强函数兼容性。
#include <iostream>
using namespace std;
//值传递
/*void myswap(int x,int y)
{
int temp=x;
x=y;
y=temp;
} */
//传递是变量的地址值
/*void myswap(int *x,int *y)
{
int temp=*x;
*x=*y;
*y=temp;
} */
//引用传递 传递的就是变量本身
void myswap(int& x,int& y)
{
int temp=x;
x=y;
y=temp;
}
int main()
{
int x=10;
int y=95;
int temp=x;
x=y;
y=temp;
myswap(x,y);
cout << "x=" << x << endl;
cout << "y=" << y << endl;
}