Post by news.individual.demußte heute mit erstaunen feststellen, dass MS Visual C++ in
der Microsoft-Entwicklungsumgebung 2003 Version 7.1.3088
deutsche Umlaute wie ä,ü,ö etc. als Variablenbezeichner
akzeptiert.
Ist dieses Feature Bestandteil des neuesten C++ - Standards
(Welcher ist das?) oder geht hier Bill Gates eigene Wege?
Beide. Laut der Norm darf alle Unicode Alpha-Zeichen in Symbolen
verwendet werden. Damit man die auch in reinen ASCII eingeben
kann gibt es die sogenannten »Universal Character Names«, eine
Fluchtfolge (sagt man sowas auf Deutsch?) mit \uxxx oder
\Uxxxxxxxx, wo x ein Hexadezimalziffer ist. Dazu: "Any source
file character not in the basic source character set is replaced
by the universal-character-name that designates that character."
Die »source character set« hängt von der Implementierung ab.
Genauso welche zusetzlichen Zeichen gekannt werden, und wie sie
codiert werden. Laut Definition, also, geht jeder Compiler seine
eigene Wege.
Kurze Antwort: Finger weg. Einmal ist keinmal, aber in dieser
Hinsicht ist Microsoft weit im Voraus vor den meisten anderen
Compiler. Und auch, weil welche Codierungen unterstützt wird und
wie man es angibt hängen stark von der Implementierung ab.
Denk mal ein bisschen daran. Ich arbeite in ISO 8859-1. Du
lieferst mir eine Header-Datei in UTF-8. Die Codierung muss von
Datei irgendwie abhängig sein -- der Compiler soll meine Datei
in ISO 8859-1 lesen, und während den include soll er UTF-8
benutzen. Ich würde fast vermuten, dass die meisten
Unix-Compiler halt nach der LC_CTYPE Umgebungsvariable arbeiten.
Mit der Wirkung, dass die Legalität deines Programms hängt von
Umgebungsvariablen ab.
Dazu: möchtest du auf Programmen arbeiten, wo die Symbole die
großen griechischen Buchstaben Alpha und Xi enthalten, neben den
gängigen A und X. Soll noch schlimmer sein, als O, 0, l und 1.
--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34
--
de.comp.lang.iso-c++ - Moderation: mailto:voyager+***@bud.prima.de
FAQ: http://www.voyager.prima.de/cpp/ mailto:voyager+send-***@bud.prima.de