我在哪里可以找到C++ 11类型前缀/后缀的列表?

Tre*_*key 6 c++ types prefix user-defined-literals c++11

有人能指出一个完整的语言类型前缀/后缀列表吗?

前缀示例:

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.
Run Code Online (Sandbox Code Playgroud)

后缀示例:

auto n1 = 7.2f;
auto n2 = 7.2d;
auto n3 = 100L;
auto n4 = 10000LL;
//etc..
Run Code Online (Sandbox Code Playgroud)

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

ken*_*ytm 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整数文字)

unsigned-suffix:其中之一

u U

长后缀:其中之一

l L

long-long-suffix:其中之一

ll LL

(§2.14.4浮动文字)

浮动后缀:其中之一

f l F L

(§2.14.3字符文字)

character-literal:

' c-char-序列 '
u' c-char-序列 '
U' c-char-序列 '
L' c-char-序列 '

(§2.14.5字符串文字)

string-literal:

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

encoding-prefix:

u8
u
U
L

  • 提到用户定义的文字会很好. (3认同)
  • 如果其他人对更广泛意义上的文字感兴趣并通过搜索偶然发现这个问题怎么办? (2认同)