const 引用 和 非 const 引用

本文深入探讨了C++中const引用的使用方式及其特点,包括它可以绑定到不同类型对象的灵活性,以及非const引用的限制条件。通过具体示例,解释了const引用如何处理不同类型的变量,并说明了其在实际编程中的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

非const引用只能绑定到与该引用同类型的对象const引,用可以绑定到不同但相关的类型的对象或绑定到右值

关于const引用,测试用例

#include <iostream>
#include <string>
using namespace std;

int main() {
    double b = 2.14;
    const int  &a=b;//成立
    const int &a1=123;//成立
    cout<<a<<endl;//2
    
    b=3;
    cout<<a<<endl;//2
	
	a=3;//error a is const 
	return 0;
}

解释两点:

1.关于double b ,int和double存在隐式转换,算是相关的类型.而且,编译器会进行以下代码的转换

double b = 2.14;
const int &a = b;
会进行如下转换:
int temp = b
const int &a=temp;

所以,给b进行赋值,a可能会报错.


非常量引用:

必须类型一致且不能是右值.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值