【发布时间】:2013-02-23 02:17:24
【问题描述】:
我很确定整数、字符、布尔和浮点字面量的值类别是纯右值。
用户定义的文字类似于函数调用,因此它们的值类别取决于它们解析为的运算符函数的返回类型。
我不清楚字符串文字。它们的类型为“const charx 数组”,其中 charx 是某种字符类型。
它在 3.10 中说:
文字的值 ... 也是纯右值。
但我认为这可能不适用于字符串文字?
字符串字面量的值类别是什么?您是如何确定的?
【问题讨论】:
我很确定整数、字符、布尔和浮点字面量的值类别是纯右值。
用户定义的文字类似于函数调用,因此它们的值类别取决于它们解析为的运算符函数的返回类型。
我不清楚字符串文字。它们的类型为“const charx 数组”,其中 charx 是某种字符类型。
它在 3.10 中说:
文字的值 ... 也是纯右值。
但我认为这可能不适用于字符串文字?
字符串字面量的值类别是什么?您是如何确定的?
【问题讨论】:
所以我很确定整数、字符、布尔和浮点文字的值类别是纯右值。
没错。
字符串字面量的值类别是什么?
根据 C++11 标准的第 5.1.1/1 段:
文字是主要的表达式。它的类型取决于它的形式(2.14)。 字符串文字是左值;所有其他文字都是纯右值。
【讨论】: