C++98 では、これがコンパイル フェーズの標準の 1 つになっているようです。それは何を意味し、なぜ最初に実行されるのですか?
5653 次
1 に答える
11
ユニバーサル キャラクター名は\uFFFD
またはのようになり\U0010FFFD
ます。これは、ソース コードのエンコーディングにその文字が含まれていない場合に、ソース コードに文字を書き込む方法です。
C++ では、基本ソース文字セットにない文字は、変換の最初のフェーズでユニバーサル文字名に変換されるように指定されています。これは、基本的なソース文字セットには含まれないが、ソース文字セットには含まれるユニバーサル キャラクタ名と文字が同じように扱われるようにするためです。
as-ifルールは、実装がユニバーサル文字名として記述された拡張文字を、ソースに文字通り現れる拡張文字と同じように扱う限り、このユニバーサル文字名の変換を実際に行う必要がないことを意味します。
于 2012-06-17T19:19:56.600 に答える