引用在C++内部的实现是一个指针常量
所以才有那么多奇奇怪怪的引用特性。
变量引用
int a = 10;
# b引用a,相当于多个别名,对b的值进行修改,对a同样有效
int &b = a;
数组的两种引用方式
直接建立引用
int arr[10];
int(&Arr)[10] = arr;
先定义数组类型,再通过类型,定义引用
typedef int(ARRAY_TYPE)[10];
# ARRAY_TYPE & aArr2 = arr;
ps:
1.引用必须初始化
2. 引用一旦初始化,就不可以引向其他变量
函数使用引用进行参数传递
void Fun(&a){
# 这里修改,会改变main中的变量a
a = 20;
}
int main(void){
int a = 10;
Fun1(a);
}
ps:
1.给局部变量使用引用,在超出局部变量作用域时值会失效。
2.当函数返回值是引用,可以给该引用赋值。
引用在C++内部的实现是一个指针常量
所以才有那么多奇奇怪怪的引用特性。