Ran*_*tep 1 c++ language-lawyer
每当纯右值作为需要该操作数的泛左值的运算符的操作数出现时,就会应用临时具体化转换来将表达式转换为 xvalue。
为什么5 = 6格式不正确?它不应该执行临时物化转换并创建可分配的临时对象吗?
5 = 6法令是非法的。也就是说,它是非法的,因为[expr.ass]/1 明确这么说:
所有[赋值运算符]都需要一个可修改的左值作为其左操作数
5 不是可修改的左值。因此,这条规则被违反,代码格式不正确。请注意,它通常不需要“glvalue”;它特别需要一个“可修改的左值” 。