5
私は整数、文字、ブール値、および浮動小数点リテラルの値カテゴリがprvalueであると確信しています。文字列リテラルの値カテゴリとは何ですか?
ユーザー定義のリテラルは関数呼び出しのようなものなので、値のカテゴリは解決する演算子関数の戻り値の型によって決まります。
文字列リテラルではわかりません。彼らは "const charxの配列"の型を持っています。charxは文字型です。
それは3.10で述べている:
リテラルの値...もprvalueです。
しかし、これは文字列リテラルには当てはまらないと思いますか?
文字列リテラルの値カテゴリは何ですか?これをどうやって決めましたか?
それは私には意味がありません。なぜ文字列リテラルは左辺値で、正値ではないでしょうか? –
@RemyLebeau:それはオブジェクトなので。たとえば、整数や浮動小数点型のリテラルではできないようなアドレスを取ることができます。 http://liveworkspace.org/code/UAvdz$3 –
@RemyLebeau:基本的には記憶域が必要なためです。 –