Before any other processing takes place, each occurrence of one of the following sequences of three characters (“trigraph sequences”) is replaced by the single character indicated in Table [tab:trigraph.sequences].
Trigraph | Replacement | Trigraph | Replacement | Trigraph | Replacement |
??= | # | ??( | [ | ??< | { |
??/ | \ | ??) | ] | ??> | } |
??' | ^ | ??! | | | ??- | ~ |
[ Example:
??=define arraycheck(a,b) a??(b??) ??!??! b??(a??)
becomes
#define arraycheck(a,b) a[b] || b[a]
— end example ]