在C++ 03中,表达式是rvalue或lvalue.
在C++ 11中,表达式可以是:
两类已成为五大类.
我一直在问自己,临时对象是否确实具有身份。我知道以下内容是有效的:
object.temporary_object().modify()
Run Code Online (Sandbox Code Playgroud)
只要返回的对象是非常量对象,或者对象上调用的函数都不会修改不可变成员。
根据值类别的定义,prvalue的结果可以移动但没有标识,并且由于Temporary Objects是prvalue表达式的结果,如何修改它们?