trigraph

Trigraphs are sequences of three characters (introduced by two consecutive question marks) that the compiler replaces with their corresponding punctuation characters. You can use trigraphs in C source files with a character set that does not contain convenient graphic representations for some punctuation characters.
C++17 removes trigraphs from the language. Through C++14, trigraphs are supported as in C.
The following table shows the nine trigraph sequences.
Trigraph	| Punctuation Character
--- | ---
??=	| #
??(	| [
??/	| \\
??)	| ]
??'	| ^
??<	| {
??!	| \|
??>	| }
??-	| ~