引用的基本语法
- 引用就是取别名
- 引用必须初始化,一经初始化就不能修改了
- 数组起别名
int (&pArr)[10] = arr;
第二种方式 typedef int(PARRAY)[10]; PARRAY & pArr2 = arr;
- 引用必须引一块合法的内存空间(不能NULL)
int &ref = 10; 引用了不合法的内存 不可以
- 常量引用:
const int &ref = 10;//加入const后 编译器处理方式为 创建临时空间 int temp=10;const int &ref=temp; 加了const还是可以改变
- 不要返回局部变量的引用
- 如果函数的返回值是引用,那么这个函数调用可以作为左值
doWork() = 1000;
- 本质是一个指针常量
Type& ref = val;//Type* const ref = &val;
C++编译器在编译过程中使用常指针作为引用的内部实现,因此引用所占得空间与指针相同,只不过这个过程是编译器内部实现的,用户不可见。