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整数リテラル)

unsigned-suffix:の1つ

u U

長い接尾辞:の1つ

l L

long-long-suffix:の1つ

ll LL

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

フローティングサフィックス:の1つ

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 optraw R -string

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

u8
u
U
L

于 2012-09-01T07:40:45.953 に答える