2

重複の可能性:
rvalues、lvalues、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 もあると聞きました。

これをひどく理解する必要があります。そして、これらは一時変数とラムダにどのように関連していますか?

繰り返し、困惑、矛盾した表現、冗長に聞こえたら申し訳ありません。

4

1 に答える 1

-2

左辺値は、代入の左側に表示できるものです。右辺値は、割り当ての右側に表示できるものですthisは、代入が許可されていないという意味で非左辺値式です。たとえば、 とは言えませんthis = new Foo();

[編集して追加: 上記の段落は間違っていますが、便利なニーモニックである可能性があり、用語の起源を反映しています。以下のコメントを参照してください。ただし、以下の参照は正しいです。]

少なくとも私が見ているドラフトが代表的なものである場合は、標準のセクション 3.10 を参照してください。セクション [basic.lval]。それは次のように始まります:「すべての式は左辺値または右辺値のいずれかです。」

それは既存の基準にあります。C++0x は xvalues、glvalues、prvalues を導入する可能性が高いようです。rvalue、lvalue、xvalue、glvalue、および prvalue とは何ですか? を参照してください。詳しくはこちら。

于 2011-03-15T16:46:50.930 に答える