Heim >Backend-Entwicklung >C++ >Kann g Unicode-Zeichen in Bezeichnern verarbeiten?
Unicode-Zeichen in Bezeichnern: Unterstützung in g
Trotz der Verfügbarkeit der Option -fextended-identifiers ist dies bei g-Versionen bis 4.8 nicht der Fall erlauben die Verwendung von Zeichen außerhalb der Basic Multilingual Plane (BMP) in Bezeichnern. Dazu gehören Zeichen wie das Emoji ?.
Der Standard erlaubt Zeichen im Bereich 10000-1FFFD als Teil von Bezeichnern, die Unterstützung von g ist jedoch auf einen kleineren Satz von Zeichen beschränkt, die in der Datei ucnid.tab definiert sind .
Die Option -fextended-identifiers ist experimentell und wird in verschiedenen g-Versionen unterschiedlich unterstützt. Ab Version 4.9.0 unterstützt g den Zeichensatz C11, der das im zweiten Codebeispiel verwendete Emoji U0001F603 enthält.
Aber auch in g 8.2 wird bei Verwendung des ? Emoji in einer Kennung führt zu einem Fehler. Dies deutet darauf hin, dass die vollständige Unterstützung für Unicode-Zeichen in Bezeichnern möglicherweise nicht in allen Konfigurationen verfügbar ist.
Andere Compiler wie Clang 3.3 bieten eine bessere Unterstützung für Unicode-Zeichen in Bezeichnern. Beide Codebeispiele funktionierten ohne zusätzliche Optionen, wenn sie mit Clang unter Verwendung des -std=c 11-Standards kompiliert wurden.
Das obige ist der detaillierte Inhalt vonKann g Unicode-Zeichen in Bezeichnern verarbeiten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!