字符串文字的值类别是什么?

And*_*zos 5 c++ c++11

我很确定整数,字符,布尔值和浮点文字的值类别是prvalue.

用户定义的文字类似于函数调用,因此它们的值类别取决于它们解析的运算符函数的返回类型.

我不清楚字符串文字.它们的类型为"const charx数组",其中charx是一些字符类型.

它在3.10中说:

文字的价值......也是一个价值.

但我认为这可能不适用于字符串文字?

字符串文字的值类别是什么?你是怎么决定的?

And*_*owl 15

所以我很确定整数,字符,布尔值和浮动文字的值类别是prvalues.

那是对的.

字符串文字的值类别是什么?

根据C++ 11标准的第5.1.1/1段:

文字是主要表达方式.它的类型取决于它的形式(2.14).字符串文字是左值 ; 所有其他文字都是prvalues.

  • @RemyLebeau:因为它是一个对象.例如,您可以使用其地址,这是整数或浮点字面值无法做到的.http://liveworkspace.org/code/UAvdz$3 (3认同)
  • @RemyLebeau:因为它基本上_must_有存储空间. (2认同)