1.必须初始化,并且类型一致
int a;
int &b = a;
2.不分配内存空间
3.不可更改原来的引用关系
4.变量与引用有相同的地址
目的:取代指针传参数
int swapA(int a,int b)
{
int temp = a;
a = b;
b = temp;
}
int swapB(int *a,int *b)
{
int *temp = a;
*a = *b;
* b = *temp;
}
int swapC(int &a,int &b)
{
int temp = a;
a = b;
b = temp;
}
main函数
int a = 10;
int b = 20;
swapA(a,b); //a,b数值未交换
swapB(&a,&b); //a,b数值交换成功
swapC(a,b); //a,b数值交换成功
指针的引用有,引用的指针无
int *p = NULL;
int * &pr = p; (指针的引用)
指针的指针有,引用的引用无
int *p ;
int **pp = &p;