任意一个表达式的值类别是以下三种之一:左值(lvalue)、将亡值(xvalue)、纯右值(prvalue)
其中左值和将亡值并称为广义左值(glvalue)。
将亡值和纯右值并称为右值(rvalue)。

左值 纯右值 将亡值
有标识符
可移动
可取地址
可放在运算符的左侧
例子 变量、函数的名字 lambda表达式
例子 左值对象的成员 右值对象或数组的成员
例子 返回类型为T&的表达式 返回类型为T的表达式 返回类型为T&&的表达式
例子 ++x,x=1,cout<<" " x++,1+1 std::move(x)
例子 字符串字面量,例如“hello world” 除字符串字面量以外的字面量,例如:true, 5
用法 可以绑定到左值 可以绑定到const左值引用,优先绑定到右值引用 优先绑定到右值引用

results matching ""

    No results matching ""