c++ 引用

2020-01-23  本文已影响0人  杀破魂

概念

c++中,变量的引用就是变量的别名,因此引用(reference)又成为别名(alias)。

变量的引用

int &b=a;声明了b是a的引用,即a的别名。
在上述声明中,&是引用声明符,此时不代表地址。对变量声明一个引用,并不另开辟内存空间单元,b和a都代表同一个变量单元。在声明一个引用时,必须同时使之初始化,即声明代表哪一个变量。

int a=3;
int &b=a;
int &c=b;
int a=3,b=4;
int &c=a;
c=&b;//错误,改变c成为整形变量b的别名
int &c=b;//错误,重新声明c成为整形变量b的别名

将引用作为函数的参数

c++调用函数时有两种传递数据的方式,一种是常用的方法:将实参的值传送给形参,形参是实参的一个拷贝,这个中方式成为传值方式调用;另一种是将实参的地址传给引用型形参,这时形参与实参是同一个变量,这种方式成为引用方式调用。

引用注意点

char c[6]="hello";
char &rc[6]=c;//错误
int a=3;
int &b=a;
int *p=&b;
//相当于p指向变量a
int *p=&a;
int i=5;
int *p=&i;
int * &pt=p;//pt是一个指向整形变量的指针变量的引用,初始化为p
int i=5;
const int &a=i;
a=3;//改变引用a的值,错误
i=3;//合法,不阻止改变引用所代表变量的值
int i=5;
const &a=i+3;//合法
上一篇下一篇

猜你喜欢

热点阅读