2 に答える
9
1つの顕著なケースは列挙子です
enum arity { one, two };
式one
とtwo
は右辺値(より具体的には、C ++ 0xのprvalues)です。もう1つは、テンプレートの非型パラメーターです。
template<int *P> struct A { };
式P
も右辺値です(より具体的には、C ++ 0xのprvalue)。
于 2011-05-28T21:17:16.460 に答える
8
- ブールリテラル
true
とfalse
はbool型のprvalueです。 nullptr
タイプのprvalueですnullptr_t
。- 関数から名前付き変数を返すと、
xvalue
その式のコンテキストでになり、anxvalue
はrvalue
(§3.10/ 1による)です。
もっとあるかもしれませんが、現時点で私が考えることができるのはそれだけです(そして、3番目は疑わしいです-それは実際にはxvalueである式ですが、次のようなものですreturn x;
(x
ローカル変数はどこにあり、値を返します、参照ではありません)、変数の名前は式です。名前は実際にはglvalueを参照し、式ではその値(実際には名前ではありません)がxvalue(右辺値)に変換されます。
于 2011-05-28T15:04:14.787 に答える