C++中的引用

 

引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样,其声明方法:类型标识符& 引用名=目标变量名。如:int a; int& ra=a;

说明

1、&在此不是求地址运算,而是起标识作用(即类型标识符)指明了目标变量的类型;

2、声明引用时,必须同时对其进行初始化,而且引用的初始化应是一个左值(是一个对象,可以取到它的地址);但是如果对一个const T&的初始化不必是一个左值,甚至不必是T类型的。

如:

int a;

int& ra=a; //正确,已初始化

int& ra; //错误,没有初始化

int& ra=2;//错误,要求左值

const int& ra=2;//正确,对于const T&的不一定必须是左值

3、引用声明完毕,相当于目标名有两个名称即目标名和引用名,且不能把该引用名作为其他变量的名字。而且声明一个引用并不是重新定义了一个变量,他只表示该引用是目标变量名的一个别名,故引用本身不是一种数据类型、不占存储单位、系统也不会给引用分配存储单元,因此对引用求地址就是对目标变量求地址(&ra与&a相等),对饮用进行操作运算就是对目标变量进行操作运算(ra++与a++结果相同)。

4、可以利用引用描述一个函数,以使该函数能够改变传递来的变量的值,如:

void change(int& aa) { aa++; }

void f()

{

int x=1;

change(x); //x=2;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值