问题描述
- c++ 中常量引用相关问题?
- int i = 42;
const int &r1 = i; //这句正确,我能理解。
const int &r2 = 42; // 这句我认为是错的,但书上给的是对的。。大家说这到底怎么回事呢?
解决方案
请说明你认为错误的理由是什么?
这一句你认为错可能是因为赋值表达式后面是常量,但为什么不能是常量呢!
解决方案二:
C++的常量引用
如果是对一个常量进行引用,则编译器首先建立一个临时变量,然后将该常量的值置入临时变量中,对该引用的操作就是对该临时变量的操作。对常量的引用可以用其它任何引用来初始化;但不能改变。
解决方案三:
如果是对一个常量进行引用,则编译器首先建立一个临时变量,然后将该常量的值置入临时变量中,对该引用的操作就是对该临时变量的操作。对常量的引用可以用其它任何引用来初始化;但不能改变。
时间: 2024-07-29 13:08:39