Cel sekwencji Trigraph w C ++?

Według C ++ '03 Standard 2.3 / 1:

Przed jakimkolwiek innym przetwarzaniem każde wystąpienie jednej z następujących sekwencji trzech znaków („sekwencje trigraficzne”) zastępuje się pojedynczym znakiem wskazanym w tabeli 1.

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

W prawdziwym życiu oznacza to ten kodprintf( "What??!\n" ); spowoduje drukowanieWhat| bo??! to sekwencja trigraficzna, która jest zastąpiona przez| postać.

Moje pytanie brzmi: jaki jest cel korzystania z trigrafów? Czy jest jakaś praktyczna korzyść z używania trigrafów?

UPD: W odpowiedziach wspomniano, że niektóre europejskie klawiatury nie mają wszystkich znaków interpunkcyjnych, więc programiści spoza USA muszą używać trigrafów w życiu codziennym?

UPD2: Visual Studio 2010 ma domyślnie wyłączoną obsługę trigraph.

questionAnswers(9)

yourAnswerToTheQuestion