2012-09-01 13 views
6

言語タイプ接頭辞/接尾辞の完全なリストを教えてもらえますか?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. 

サフィックス例:

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

すべての私の検索の試みは、 "独自のユーザー定義されたリテラルを作る" ために私を送ります。
おそらくこれらのインスタンスには、私が気付いていない特定の名前がありますか?

答えて

8

これらは "タイプ"接頭辞/接尾辞ではなく、リテラル(文字列リテラル、数字リテラルなど)に適用されるため、接頭辞/接尾辞はリテラルです。彼らはそれほど興味深いものではないので、特定の名前は持っていません。

内蔵接頭辞と接尾辞C++ 11は、次のとおり

  • 整数:

    • 12U12L12UL12LU12LL12ULL12LLU12u12uL12Lu,12uLL,12LLu,12l12Ul12lU12ll12Ull12llU12ul12lu12ull12llu
  • 浮動小数点:

    • 1.0f1.0F1.0l1.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 floating point number notationを参照してください。


関連字句文法:

(§2.14.2整数リテラル)

符号なし接尾:の一つ

u U

長い接尾

l L

の1つの長ロング接尾

ll LL

012の

(§2.14.4フローティングリテラル)

浮動接尾

f l F L

の一方(§2.14.3文字リテラル)

文字リテラル

'C-CHAR-シーケンス'
u'C-CHAR-シーケンス'
U'C-CHAR-シーケンス'
L'C-文字列'

(§2.14。5つの文字列リテラル)

文字列リテラル

符号プレフィックス OPT" S-チャー配列 OPT"
符号プレフィックス OPTRraw-str INGの

エンコーディングプレフィックス

u8
u
U
L

+3

の言及ユーザー定義のリテラルは素晴らしいでしょう。 –

+1

@LucDanton:私はOPがすでにユーザー定義のリテラルが何であるかを知っていると思います(2番目の最後の段落でそれを述べました)。 – kennytm

+2

他の誰かがより広い意味でリテラルに興味を持ち、その質問を検索で見つけたらどうなりますか? –

関連する問題