A trigráf (a C nyelvcsaládban ) ( eng. trigraph ) három karakterből álló sorozat, amelyek közül az első kettő kérdőjel (" ??"), a harmadik pedig a trigráf jelentését jelzi. A trigráfokat a C/C++ előfeldolgozó dolgozza fel .
trigráf | Egyenértékű szimbólum |
---|---|
??= | # |
??/ | \ |
??' | ^ |
??( | [ |
??) | ] |
??! | | |
??< | { |
??> | } |
??- | ~ |
A három kérdőjel (" ???") kombinációja nem trigráf.
A valóságban a trigráfokat gyakorlatilag nem használják. Egyes fordítók (például a gcc ) még figyelmeztetést is adnak a trigráfok kezelésekor.
A trigráfok megjelenésének oka, hogy az 1972 -ben elfogadott, ASCII alapú hétbites ISO/IEC 646 kódlap " " karakterpozíciókat rendelt a nemzeti karakterekhez ( kiegészítő betűk és pénznem szimbólumok ). Például a németek a kódot így láthatták . A hiányzó zárójelek pótlására trigráfokat vezettek be. #$@[\]^`{|}~{ a[i]='\n'; }ä aÄiÜ='Ön'; ü
A Pascalban a digráfokat ugyanerre a célra használják : (. .) (* *)ahelyett [] {}.
A trigráfok elavultak a C++17 szabványban [1] [2] .
Az alábbiakban példák láthatók a „ ” trigráf használatára, ??/amelyet a „ ” szimbólum helyettesít \. A " \" karakter egy escape karakter az újsor karakterhez .
// A következő sor végrehajtásra kerül??????????????????/ a ++ ;??/A " " " " karakterre cserélése után a 2. sorban \lévő kód a++;az 1. sorban megkezdett megjegyzés folytatásának minősül.
/??/ * Egy megjegyzés *??/ /Miután a „ ” karaktert „ ??/” helyettesíti \, a megadott kód egyenértékű lesz a kóddal
/* Egy komment */