Gemäß C ++ '03 Standard 2.3 / 1:
Bevor eine andere Verarbeitung stattfindet, wird jedes Auftreten einer der folgenden Sequenzen von drei Zeichen ("Trigraphsequenzen") durch das in Tabelle 1 angegebene Einzelzeichen ersetzt.
---------------------------------------------------------------------------- | trigraph | replacement | trigraph | replacement | trigraph | replacement | ---------------------------------------------------------------------------- | ??= | # | ??( | [ | ??< | { | | ??/ | \ | ??) | ] | ??> | } | | ??’ | ˆ | ??! | | | ??- | ˜ | ----------------------------------------------------------------------------
Im wirklichen Leben bedeutet dies, dass Code zum printf( "What??!\n" );
Drucken führt, What|
da ??!
es sich um eine Trigraphsequenz handelt, die durch das |
Zeichen ersetzt wird.
Meine Frage ist, welchen Zweck die Verwendung von Trigraphen hat. Gibt es einen praktischen Vorteil bei der Verwendung von Trigraphen?
UPD : In den Antworten wurde erwähnt, dass einige europäische Tastaturen nicht alle Satzzeichen haben, so dass Nicht-US-Programmierer im Alltag Trigraphen verwenden müssen.
UPD2 : In Visual Studio 2010 ist die Trigraph-Unterstützung standardmäßig deaktiviert .