1、引用的基本语法
引用的本质:给变量起别名
用法: 数据类型 &别名 = 原名;
int a = 10;
int &b = a;
注意事项:1 引用必须初始化; 2 引用一旦初始化后,不可以更改;
3 引用必须引一块合法的内存空间
2、引用作函数参数
作用:函数传参时,用引用的方法让形参修饰实参(相当于指针地址传递)
void swap01(int& a, int& b)
{
int temp = a;
a = b;
b = temp;
}
int main()
{
int a = 10;
int b = 20;
swap01(a, b);
cout << "a = " << a << endl;
cout << "b = " << b << endl;
system("pause");
return 0;
}
结果如下:
引用传递,形参会修饰实参
3、引用作函数返回值
注意事项:
1 不要返回局部变量的引用
例
int &test01()
{
int a = 10;//局部变量存放在栈区
return a;
}
int main()
{
int &ref = test01();
cout << "ref = " << ref << endl;
system("pause");
return 0;
}
结果为
2、函数的调用可以作为左值
3、引用的本质 就是一个指针常量
4、常量引用
作用:用来修饰形参,防止误操作
错误写法:
int & ref = 10;//引用必须引一块合法的内存空间
正确写法为:
const int & ref = 10;
加上const之后,编译器将代码修改为:int temp = 10; const int & ref = temp;
指向temp的内存空间,且加了const后,变为只读不可更改