6

整数、文字、ブール値、および浮動小数点リテラルの値カテゴリは prvalue であると確信しています。

ユーザー定義リテラルは関数呼び出しに似ているため、その値のカテゴリは、解決される演算子関数の戻り値の型によって異なります。

文字列リテラルについてはよくわかりません。それらは「const charxの配列」タイプを持ち、charxは何らかの文字タイプです。

それは3.10で言います:

リテラル ... の値も prvalue です。

しかし、これは文字列リテラルには当てはまらないのではないでしょうか?

文字列リテラルの値カテゴリは何ですか? これはどうやって判断したのですか?

4

1 に答える 1

15

したがって、整数、文字、ブール値、および浮動リテラルの値カテゴリは prvalues であると確信しています。

そのとおりです。

文字列リテラルの値カテゴリは何ですか?

C++11 標準のパラグラフ 5.1.1/1:

リテラルは一次式です。そのタイプは、そのフォーム (2.14) によって異なります。文字列リテラルは左辺値です。他のすべてのリテラルは prvalues です。

于 2013-02-23T02:21:02.153 に答える