16

What does the C++ standard say about using dollar signs in identifiers, such as Hello$World? Are they legal?

4

7 に答える 7

16

C++ 識別子は、_ (アンダースコア)、0 ~ 9 の数字、文字 a ~ z (大文字と小文字の両方) のいずれかで構成でき、数字で始めることはできません。

C99 では標準への拡張が許可されているため、いくつかの例外があります (例: Visual Studio )。

于 2009-06-01T20:59:17.060 に答える
14

それらは違法です。識別子で使用できる唯一の文字は、文字、数字、および _ です。識別子も数字で始めることはできません。

于 2009-06-01T20:56:56.317 に答える
11
于 2013-04-17T08:40:12.293 に答える
8

合法ではありませんが、ほとんどのコンパイラがサポートしていない場合でも、多くのコンパイラがサポートしています。これはプラットフォームに依存する可能性があることに注意してください。

于 2009-06-01T21:04:28.923 に答える
1

関連するセクションは「2.8 識別子 [lex.name]」です。基本文字セットから、有効な文字は A ~ Z a ~ 0 ~ 9 および _ のみです。ただし、é (U+00E9) などの文字も使用できます。ただし、コンパイラによっては、é を \u00e9 として入力する必要がある場合があります。

于 2009-06-02T12:55:53.953 に答える
0

それらは C++ では合法ではありません。ただし、一部の C/C++ 派生言語 (Java や JavaScript など) では許可されています。

于 2009-06-01T20:59:07.077 に答える
0

違法。ドル記号とバッククォートは、C++ のどこかで使用されていないキーボード上の唯一の句読点だと思います (「%」記号は、C 標準を参照して C++ にあるフォーマット文字列にあります)。

于 2009-06-01T21:00:23.627 に答える