引用
int a = 10;
int &b = a;
b = 20;
引用注意事项
- 引用必须初始化
- 初始化后就不可以更改了
引用传参
//可以简化指针
void swap(int *a,int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
int a = 10, b = 20;
swap(&a,&b);
引用做函数返回值
//引用做函数的返回值
//不要返回局部变量的引用
//
int& test()
{
static int a = 10; //静态变量,存放在全局区,程序结束后由系统释放
return a;
}
int main()
{
int &num = test();
test() = 1000; //返回引用,可以作为左值
cout << num << endl; //num = 1000
}
引用的本质
引用的本质在C++内部实现是一个指针常量,int * const p = #
int a = 10;
int &ref = &a; //自动转换为 int * const ref = &a; 指针常量--指向不可以改变
ref = 30; //自动转换为 *ref = 30;
常量引用
//使用场景:用来修饰形参,防止误操作
void showValue(const int &val)
{
//val = 2000; 不可修改
cout << val << endl;
}
网友评论