引用、const引用、临时对象

如果引用参数是const,则编译器在下面两种情况下生成临时变量,则C++将创建类型正确的匿名变量:

1、实参类型是正确的,但不是左值

2、实参类型不正确,但可以转换为正确的类型

引用在C++中的内部实现是一个常指针

Type& name    <-------> Type* const name

int &aa   

 int * const aaa;

int a = 10;
int *p = &a;
const int* &rp = p;//错误
引用一旦绑定就不可更改,上面的rp可以改变指向

正确做法是
int* const &rp =p;

1)const & int aaa  相当于 const int * const aaa

2)普通引用 相当于 int *const  aaa

3)当使用常量(字面量)对const引用进行初始化时,C++编译器会为常量值分配空间,并将引用名作为这段空间的别名

4)使用字面量对const引用初始化后,将生成一个只读变量

无法从“int *”转换为“int *&”?详解C++引用(&)使用方法_“=”: 无法从“i *”转换为“i *”_代码乌龟的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值