我很确定整数,字符,布尔值和浮点文字的值类别是prvalue。
用户定义的文字就像函数调用一样,因此它们的值类别取决于它们解析的运算符函数的返回类型。
我不清楚字符串文字。它们的类型为“const charx数组”,其中charx是某种字符类型。
它在3.10中说:
文字的价值......也是一个价值。
但我认为这可能不适用于字符串文字?
字符串文字的值类别是什么?你是怎么决定的?
答案 0 :(得分:15)
所以我非常确定整数,字符,布尔值和浮动文字的值类别是prvalues。
这是正确的。
字符串文字的值类别是什么?
根据C ++ 11标准的第5.1.1 / 1段:
文字是主要表达方式。它的类型取决于它的形式(2.14)。 字符串文字是左值;所有其他文字都是prvalues。