lvalue(左值):在 C/C++ 等语言中,指表示“可定位的对象”的表达式——通常它有稳定的存储位置(地址),因此在很多情况下可以出现在赋值号 = 的左边(但“能否赋值”还取决于是否为 const、是否为位域等)。与之相对的是 rvalue(右值),更偏向“临时结果/纯值”。
/ˈɛlˌvæljuː/
A variable like x is an lvalue.
像 x 这样的变量是左值(lvalue)。
In C++, the expression *ptr is an lvalue if it refers to a valid object, so you can assign to it.
在 C++ 中,如果表达式 *ptr 指向一个有效对象,它就是左值,因此你可以对它进行赋值。
lvalue 来自 left value,与“赋值语句中位于等号左侧(left side)”这一传统说法相关。早期教学常用“能放在 = 左边的东西”来帮助理解,但现代语言规范更强调它的本质:表达式的“值类别”(value category)与“是否标识某个对象/位置”。