What does the C++ standard say about using dollar signs in identifiers, such as Hello$World
? Are they legal?
7 に答える
C++ 識別子は、_ (アンダースコア)、0 ~ 9 の数字、文字 a ~ z (大文字と小文字の両方) のいずれかで構成でき、数字で始めることはできません。
C99 では標準への拡張が許可されているため、いくつかの例外があります (例: Visual Studio )。
それらは違法です。識別子で使用できる唯一の文字は、文字、数字、および _ です。識別子も数字で始めることはできません。
合法ではありませんが、ほとんどのコンパイラがサポートしていない場合でも、多くのコンパイラがサポートしています。これはプラットフォームに依存する可能性があることに注意してください。
関連するセクションは「2.8 識別子 [lex.name]」です。基本文字セットから、有効な文字は A ~ Z a ~ 0 ~ 9 および _ のみです。ただし、é (U+00E9) などの文字も使用できます。ただし、コンパイラによっては、é を \u00e9 として入力する必要がある場合があります。
それらは C++ では合法ではありません。ただし、一部の C/C++ 派生言語 (Java や JavaScript など) では許可されています。
違法。ドル記号とバッククォートは、C++ のどこかで使用されていないキーボード上の唯一の句読点だと思います (「%」記号は、C 標準を参照して C++ にあるフォーマット文字列にあります)。