引用的基本使用
引用的作用:给地址取别名
语法:数据类型 &名称 = 原名 (此处的数据类型和被引用的变量数据类型要一样)
#include<iostream>using namespace std;int main (void){//引用的基本语法int a = 10;int &b = a;cout<<a<<endl;cout<<b<<endl;b = 20;cout<<a<<endl;system("pause");return 0;}
注意:
1.引用必须初始化
2.引用在初始化之后就不能再改变了
引用做函数参数
作用:用引用技术传递函数参数
优点:简化指针传递
#include<iostream>using namespace std;void swap (int &a,int &b){int temp;temp = a;a = b;b = temp;}int main (void){//引用做函数传递int a = 10;int b = 20;swap(a,b);cout<<a<<endl<<b<<endl;system("pause");return 0;}
引用做函数返回值:
1.不能返回局部变量的引用(就像返回局部变量的地址一样,局部变量存放于栈区)
2.函数调用可以作为左值
//函数调用可以作为左值#include<iostream>using namespace std;int& test (void){static int a = 10;//静态变量在全局区return a;}int main (void){int &ref = test();cout << ref <<endl;test() = 100;//如果函数的返回值是一个引用,函数的调用可以作为左值。cout << ref <<endl;}
引用的本质:
引用的本质实际上是一个指针常量
常量引用:在引用前添加const
作用:修饰形参,防止误操作int &a = 10; 报错const int & ref = 10; 可以运行 ,编译器自动写成了 int temp = 10;const int &ref = temp
