1、引用的声明
#include<iostream>
using namespace std;
int main()
{
int a = 12;
int& c = a;// 声明变量a的一个引用c,c是变量a的一个别名,C++中引用的声明,&表示引用
int& d = a;// 引用d必须要初始化;
c = 1;
cout << a << endl;
//数组的引用
int arr[12];
int(&p)[12] = arr;//引用 类型
p[1] = 16;
cout << arr[1] << endl;
//二维数组
int arr2[2][4];
int(&p1)[2][4] = arr2;
p1[1][2] = 123;
cout << arr2[1][2]<< endl;
//指针的引用
int b = 12;
int* point = &b;
int* (&p2) = point;
*p2 = 1234;
cout <<b<< endl;
return 0;
}
2、引用做参数
#include<iostream>
using namespace std;
void fun(int& a)//a是b的引用
{
a = 133;
cout <<"这是fun:"<<a << endl;
}
void fun1(int* a)//这是操纵地址
{
*a = 13;
cout <<"这是fun1:"<< *a << endl;
}
int main()
{
int b = 12;
fun(b);
cout << b << endl;
fun1(&b);
cout << b << endl;
system("pause");
return 0;
}
3、利用引用、地址实现交换
#include <iostream>
using namespace std;
void ExChange(int& j, int& k)//引用的声明做参数来交换两个变量的值
{
int nTemp = j;
j = k;
k= nTemp;
}
void ExChange1(int& j, int& k)//根据地址来交换值
{
int nTemp = j;
j = k;
k = nTemp;
}
int main()
{
int a = 12,
b = 14;
cout << "a:" << a << endl;
cout << "b:" << b << endl;
ExChange(a, b);
cout << "第一次交换" << endl;
cout << "a:" << a << endl;
cout << "b:" << b << endl;
ExChange(a, b);
cout << "第二次交换" << endl;
cout << "a:" << a << endl;
cout << "b:" << b << endl;
system("pause");
return 0;
}