C++_引用

引用的定义
引用是给变量起一个别名,而不是重新定义一个变量,也没有重新申请一块空间。
引用的特点

一个变量可以有多个引用
一个引用只能对应一个变量,不可再被修改去引用其他变量
引用需要立刻初始化

引用的用途

引用作参数传递
引用做返回值传递
const引用

当你把a的引用当作参数传给函数时,又不希望a被函数改变,就可以在传参时用上const,只给用不让改。

int a = 0;
void func(int& a)
{
a++;
}
a=func(a);

运行上面的代码的结果就是a=1;有没有和指针很像!
引用做返回值传递

int& func(int a)
{
a++;
return a;
}

这样返回的就是a的地址,而不是a的值。
但是这样很危险,因为返回了临时变量的引用,但func()函数结束时,a的空间已经随栈帧一起释放了,随时会被改变,而且通过返回的地址也可以改变访问权限外的空间,这是一件很危险的事。
特别注意

不要返回临时变量的引用
如果返回对象出了当前函数的作用域还依然存在,推荐使用引用返回可以更高效

说到引用和指针还是有很多相似的地方和功能,那它俩的区别在哪呢?

一个引用只能表示一个变量,而指针可以多变
sizeof引用是求变量的大小,而sizeof指针是求指针指向对象地址的大小
引用不能为空
引用的自增自减是对变量的++和–,而指针的是对地址的++与–

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值