Menurut C ++ '03 Standard 2.3 / 1:
Sebelum pemrosesan lain terjadi, setiap kemunculan salah satu dari tiga karakter berikut (“sekuens trigraph”) digantikan oleh karakter tunggal yang ditunjukkan pada Tabel 1.
---------------------------------------------------------------------------- | trigraph | replacement | trigraph | replacement | trigraph | replacement | ---------------------------------------------------------------------------- | ??= | # | ??( | [ | ??< | { | | ??/ | \ | ??) | ] | ??> | } | | ??’ | ˆ | ??! | | | ??- | ˜ | ----------------------------------------------------------------------------
Dalam kehidupan nyata itu berarti bahwa kode printf( "What??!\n" );
akan menghasilkan pencetakan What|
karena ??!
merupakan urutan trigraph yang diganti dengan |
karakter.
Pertanyaan saya adalah apa tujuan menggunakan trigraph? Apakah ada manfaat praktis menggunakan trigraph?
UPD : Dalam jawaban disebutkan bahwa beberapa keyboard Eropa tidak memiliki semua karakter tanda baca, jadi programmer non-AS harus menggunakan trigraph dalam kehidupan sehari-hari?
UPD2 : Visual Studio 2010 memiliki dukungan trigraph dimatikan secara default.