请解释 C++ 中左值(lvalue)和右值(rvalue)的含义,并说明表达式 i++ 和 ++i 分别是左值还是右值,为什么?
考察说明
考察对 C++ 值类别(value category)概念的理解及具体表达式的分类判断
回答思路
- 准确解释左值和右值的核心定义(如可取地址、生命周期等特征)
- 判断 i++ 是右值并说明原因(返回自增前的临时值)
- 判断 ++i 是左值并说明原因(返回引用,可直接取地址)
- 结合 C++11 移动语义或值类别演进适当补充(加分项)
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。