Zweck der Trigraph-Sequenzen in C ++?

Gemäß C ++ '03 Standard 2.3 / 1:

Vor jeder anderen Verarbeitung wird jedes Auftreten einer der folgenden Folgen von drei Zeichen ("Trigraph-Folgen") durch das in Tabelle 1 angegebene einzelne Zeichen ersetzt.

----------------------------------------------------------------------------
| trigraph | replacement | trigraph | replacement | trigraph | replacement |
----------------------------------------------------------------------------
| ??=      | #           | ??(      | [           | ??<      | {           |
| ??/      | \           | ??)      | ]           | ??>      | }           |
| ??’      | ˆ           | ??!      | |           | ??-      | ˜           |
----------------------------------------------------------------------------

Im wirklichen Leben bedeutet das diesen Codeprintf( "What??!\n" ); wird gedrucktWhat| da??! ist eine Trigraph-Sequenz, die durch die ersetzt wird| Charakter.

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 Interpunktionszeichen enthalten, sodass Programmierer außerhalb der USA im Alltag Trigraphen verwenden müssen?

UPD2: In Visual Studio 2010 ist die Trigraph-Unterstützung standardmäßig deaktiviert.

Antworten auf die Frage(9)

Ihre Antwort auf die Frage