变量名:变量名实质上是一段连续存储空间的别名,是一个标号,程序中通过变量来申请并命名内存空间,通过变量的名字可以使用存储空间;
那么对一段内存空间只能取一个别名吗?
是可以的,可以利用引用来实现;
一、 引用的概念:
1)在C++中新增加了引用的概念
2)引用可以看作一个已定义变量的别名;
二、引用只能是c++的语法范畴,不能再用C语言的语法考虑
引用基础:
#include<iostream>
using namespace std;
int main()
{
int a = 10;
int &b = a;
cout <<"a="<<a << endl;
cout << "b="<<b<< endl;
system("pause");
}
三、引用做函数参数
普通引用在声明时必须用其他变量做初始化;
int main()
{
int a = 10;
int &b = a; //正确的普通引用初始化
int &c; //错误的普通引用初始化
}
基础类型的引用
#include<iostream>
using namespace std;
void myswap(int x, int y)
{
int c = 0;
c = x;
x=y;
y = c;
}
void myswap1(int *x, int *y)
{
int c=0;
c = *x;
*x = *y;
*y = c;
}
void myswap2(int &x, int &y) //利用引用来完成两个数的交换
{
int c = 0;
c = x;
x = y;
y = c;
}
int main()
{
int a = 10;
int b = 20;
//myswap(a, b);
//myswap1(&a, &b);
myswap2(a, b);
cout << "a="<<a<< endl;
cout <<"b="<<b << endl;
system("pause");
}