6

有人可以指出语言类型前缀/后缀的完整列表吗?

前缀示例:

auto s1 (u8"I'm a UTF-8 string.");
auto s2 (u"This is a UTF-16 string.");
auto s3 (U"This is a UTF-32 string.");
auto s4 (R"(RAW \ STRING " )");
auto s5 (L"wide string");
//etc..
//*I've only seen prefixes like this for strings.

后缀示例:

auto n1 = 7.2f;
auto n2 = 7.2d;
auto n3 = 100L;
auto n4 = 10000LL;
//etc..

我所有的搜索尝试都让我去“制作你自己的用户定义的文字”。
也许这些实例有一个我不知道的特定名称?

4

1 回答 1

8

这些不是“类型”前缀/后缀,它们是文字前缀/后缀,因为它们应用于文字(字符串文字,数字文字,...)。他们没有具体的名字,因为他们没有那么有趣☺。

C++11 中的内置前缀和后缀有:

  • 整数:

    • 12U, 12L, 12UL, 12LU, 12LL, 12ULL, 12LLU, 12u, 12uL, 12Lu, 12uLL, 12LLu, 12l, 12Ul, 12lU, 12ll, 12Ull, 12llU, 12ul, 12lu, 12ull,12llu
  • 浮点数:

    • 1.0f, 1.0F, 1.0l,1.0L
  • 人物:

    • L'x', u'x',U'x'
  • 字符串:

    • u8"xxx", u"xxx", U"xxx", L"xxx", R"(xxx)", u8R"(xxx)", uR"(xxx)", UR"(xxx)",LR"(xxx)"

特别是,1.0d不是内置的 C++11 后缀。某些编译器(例如 GCC)也可能具有其他数字后缀的扩展,请参阅C 浮点数表示法


相关词汇语法:

(§2.14.2 整数文字)

无符号后缀:其中之一

u U

长后缀:其中之一

l L

long-long-suffix:其中之一

ll LL

(§2.14.4 浮动文字)

浮动后缀:其中之一

f l F L

(§2.14.3 字符文字)

字面量

' c-char-sequence '
u' c-char-sequence '
U' c-char-sequence '
L' c-char-sequence '

(§2.14.5 字符串文字)

字符串文字

encoding-prefix opt " s-char-sequence opt "
encoding-prefix opt R raw-string

编码前缀

u8
u
U
L

于 2012-09-01T07:40:45.953 回答