C++中R值、L值、X值、gl值和pr值是什么?
- L值有一个程序可以访问的地址。L值表达式的示例包括变量名称(包括const变量)、数组元素、返回L值引用的函数调用、位域、联合和类成员。
- X值表达式没有地址,但可用于初始化提供对该表达式访问权限的R值引用。示例包括返回R值引用的函数调用、数组下标等。
- Gl值(“广义”L值)是L值或X值。
- R值(历史上称为R值,因为R值可以出现在赋值表达式的右侧)是X值、临时对象或其子对象,或者与对象无关的值。
- Pr值表达式没有程序可以访问的地址。Pr值表达式的示例包括返回非引用类型的函数调用的字面量。
广告