&引用
取别名
引用本质是一个指针常量
int a;
int &b = a;
int * const b = a;
int main()
{
int a = 10;
int &b = a;
b = 200;
cout << b << endl;
}
1、引用初始化必须赋值
2、不能引用null
数组引用
方式1
int main()
{
int a[5];
int (&arr)[5] = a;
arr[0] = 99;
cout << arr[0] << endl;
}
方式2
int main()
{
int a[5];
typedef int ARR[5];
ARR& arr = a;
arr[0] = 99;
cout << arr[0] << endl;
}
函数中引用
void test(int& a,int& b) {
a = 100;
b = 200;
}
int main()
{
int a = 0, b = 0;
test(a,b);
cout << a <<endl<< b << endl;
}
引用可以作为函数的返回值
但是局部变量的引用不能作为返回值
函数结束会被销毁
常量引用
可以防止传参误修改
void test(int* const &a) {
cout << *a << endl;
}
int main()
{
int id = 10;
int* a = &id;
test(a);
}