代码之家  ›  专栏  ›  技术社区  ›  Andrew Tomazos

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

  •  7
  • Andrew Tomazos  · 技术社区  · 12 年前

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

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

    我不清楚字符串文字。它们具有类型“array of const charx”,其中charx是某种字符类型。

    它在3.10中说:

    文字的值。。。也是一个prvalue。

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

    字符串文字的值类别是什么?你是如何确定的?

    1 回复  |  直到 7 年前
        1
  •  16
  •   Andy Prowl    12 年前

    所以我很确定integer、character、boolean和floating literals的值类别是prvalues。

    这是正确的。

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

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

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