引用
C++ 数据类型 给变量取别名
定义
类型 &引用名=变量名 必须初始化
常引用(该引用只能读取数据)
- const 类型 & 引用名=变量名
- 类型 const& 引用名=变量名
指针与引用的区别:
- 引用必须初始化,指针可以不初始化
- 引用不能改变被引用的对象,指针可以改变指向
- 引用没有自己独立的内存空间(和变量内存相同),指针有自己独立的内存
- 引用不能为空,指针可以为空
typedef
给类型取别名
练习代码
typedef int A;//给int型取别名A
A a1=10;//定义一个int型变量a并初始化为10
//给大小为20的int型数组取别名M
typedef int M[20];
M m1;
m1[10] = 100;
typedef int **(*P)[10][20];
P p3;//定义一个数组指针
int x = 100;
//定义一个int型的引用refx,并用x初始化。
int &refx = x;
refx = 200;
cout << x << endl;
int m=100;
refx = m;//等价于x=m;
cout << &x << endl;
cout << &refx << endl;
//定义一个int型指针的引用
int *p = nullptr;
int* &refp = p;//指针的引用
//定义一个数组的引用
int a[10];
//数组的引用
int (&refa)[10] = a;
cout << sizeof(refa) << endl;//40
refa[0] = 100;//访问数组元素