有人能指出一个完整的语言类型前缀/后缀列表吗?
前缀示例:
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..
我所有的搜索尝试都会让我“制作您自己的用户自定义文字” 也许这些实例有一个我不知道的特定名称?
答案 0 :(得分:8)
这些不是“类型”前缀/后缀,它们是文字前缀/后缀,因为它们应用于文字(字符串文字,数字文字,......)。它们没有特定的名称,因为它们并不那么有趣☺。
C ++ 11中的内置前缀和后缀是:
整数:
12U
,12L
,12UL
,12LU
,12LL
,12ULL
,12LLU
,12u
,12uL
,12Lu
,12uLL
,12LLu
,12l
,12Ul
,12lU
,12ll
,{ {1}},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)"
不是内置的C ++ 11后缀。一些编译器,例如GCC也可能有其他号码后缀的扩展名,请参阅C floating point number notation。
相关的词汇语法:
(§2.14.2整数文字)
unsigned-suffix :
之一
1.0d
long-suffix :
之一
u U
long-long-suffix :
之一
l L
(§2.14.4浮动文字)
浮动后缀:
之一
ll LL
(§2.14.3字符文字)
字符字面:
f l F L
c-char-sequence'
'
c-char-sequenceu'
'
c-char-sequenceU'
'
c-char-sequenceL'
和
(§2.14.5字符串文字)
字串文本:
encoding-prefix opt
'
s-char-sequence opt"
encoding-prefix opt"
raw-string编码前缀:
R
u8
u
U