不同类型的*
可能重复:
什么是右值,左值,xvalues,glvalues和prvalues?
The standard states:
3.2 The this pointer
1 In the body of a non-static (9.3) member function,
the keyword this is a non-lvalue expression whose value is the address of the
object for which the function is called.
右值,左值,非右值,非左值有什么区别?
这些*值有多少种? 我的意思是我也听说过xvalues。
需要了解这一点。 这些与临时和lambdas有什么关系?
对不起,如果我听起来重复,困惑,矛盾和冗余。
左值的东西,可以在赋值语句的第l EFT-右手边出现。 右边的值是什么,可以在赋值中的R飞行,右手边出现。 this
是一个非左值表达式,您不能指定它:您不能说this = new Foo();
, 例如。
[编辑补充:上面的段落是错误的,虽然它可能是一个有用的助记符,并且反映了该术语的起源。 见下面的评论。 但是,下面的参考文献是正确的。]
至少如果我看到的草案具有代表性,请参阅该标准的第3.10节。 部分[basic.lval]。 它开始于:“每个表达式都是左值或右值。”
这是现有的标准。 C ++ 0x似乎可能会引入:xvalues,glvalues,prvalues。 看看什么是右值,左值,左值,右值和上值? 为更多abuot这。
链接地址: http://www.djcxy.com/p/73005.html上一篇: Different types of *