c++中引用做形参为什么不能直接传常数给它
答案:3 悬赏:50 手机版
解决时间 2021-02-06 09:09
- 提问者网友:难遇难求
- 2021-02-05 14:00
c++中引用做形参为什么不能直接传常数给它
最佳答案
- 五星知识达人网友:神鬼未生
- 2021-02-05 14:24
引用做形参,本质上是要传地址,而且形参允许被修改,传个常数进去,常数不允许被修改,肯定编译器不允许。
如果满意,欢迎采纳,谢谢
如有疑问,欢迎追问
如果满意,欢迎采纳,谢谢
如有疑问,欢迎追问
全部回答
- 1楼网友:琴狂剑也妄
- 2021-02-05 15:30
当初始化值是一个左值(可以取得地址)时,没有任何问题;
当初始化值不是一个左值时,则只能对一个const T&(常量引用)赋值。而且这个赋值是有一个过程的:
首先将值隐式转换到类型T,然后将这个转换结果存放在一个临时对象里,最后用这个临时对象来初始化这个引用变量。
例子:
double& dr = 1; // 错误:需要左值
const double& cdr = 1; // ok
- 2楼网友:过活
- 2021-02-05 15:00
引用做形参,本质上是要传地址,而且形参允许被修改,传个常数进去,常数不允许被修改,肯定编译器不允许。
如果满意,欢迎采纳,谢谢
如有疑问,欢迎追问
记得给问豆啊!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯