左值到右值的转换

Lvalue to Rvalue conversions

本文关键字:转换      更新时间:2023-10-16

From 4.1/2

由左值表示的对象中包含的值为右值的结果。类型中发生左值到右值转换时sizeof(5.3.3)的操作数,即被引用对象中包含的值

不能访问,因为该操作符不对其操作数求值。

出于好奇,我想知道,是否同样适用于if, for, while语句,即左值转换为右值时,语句的结果进行评估?

是。没有lvalue-to-rvalue转换,它不能读取它的

宽泛地说,可以把左值看作某种容器,而右值看作容器中包含的值。

c++ 03, section§3.10/7读取

当左值出现在需要右值的上下文中时,将左值转换为右值;参见4.1、4.2和4.3。

与§4.1/2(你的报价)一起阅读,

左值所表示的对象中包含的值就是右值的结果。

相关话题:

  • 什么标准子句要求进行左值到右值的转换?

答案是肯定的。

当期望使用bool右值时,也应用转换。让test作为一个变量来查看示例:

if( test )

test的右值,true或false,在if内求值