【发布时间】:2014-07-21 11:22:05
【问题描述】:
我明白为什么int& x=1 是非法的(你不能引用常量值),但我不明白为什么const int& x=1 是合法的?你怎么能参考数字“1”?它甚至不是一个定义的变量。
编辑:我阅读了这篇文章中给出的答案:What happens when I assign a temporary int to a const reference in C++? 但有人可以解释他是什么意思“表达式 f(1) 返回的临时值的生命周期将延长其生命周期。这条规则是独一无二的用于常量引用。”?所以文字是否以 int 形式存储在堆栈中?谢谢!
【问题讨论】:
-
我认为这是 const 引用延长临时对象生命周期的效果。
标签: c++