Heim >Backend-Entwicklung >C++ >Kann g Unicode-Zeichen in Bezeichnern verarbeiten?

Kann g Unicode-Zeichen in Bezeichnern verarbeiten?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-11 10:25:03922Durchsuche

Can g   Handle Unicode Characters in Identifiers?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn