トリグラフシーケンス

ロベールのC++入門講座 05-14

別名「3文字表記」という

C++の構文で使用される記号の代価記号のこと。例えば「{」は「??<」と書ける

#include <iostream>
using namespace std;

int main () ??<
    cout << "aaaa" << endl;
    return 0;
??>
$ main
aaaa

なんか凄いですねこれ。ちゃんとコンパイル通ります。

各種記号の対応表は以下。

3文字表記 対応する記号
??= #
??( [
??/ \
??) ]
??' ^
?? {
??! |
??> }
??- ~

ちなみになんでこんな代価記号が用意されているのかというと、ある言語では使用できない記号が含まれている場合があるらしく、その記号が使えない環境でもトリグラフシーケンスによりC++でプログラミングができるということらしいです。幸い日本では使える記号ばかりなので問題はでないみたいですけども。