西スラヴに伝わる軍神*1
まめしば雑記より。
初めて ?? 演算子を使いました。使いやすいような使いにくいような、すごくびみょー……。
http://d.hatena.ne.jp/shiba-yan/20071019/1192781771
そうか、ついにしばやんもトリグラフ*1を使ってるコードに出くわしたのか!
…と一瞬思ったんだけど、C#にはそういう演算子がある様子。null非許容な型に対して規定値を返すために使うのかな。
んーむ。ついにトリグラフ*2に悩まされることになったのかと思ったのに…残念。
ちなみに確認したところ、トリグラフは K&R では「トライグラフ系列」、Bjarne Stroustrup のプログラミング言語C++では「三重字」と訳されてました。要するに大カッコや中カッコなどが 7bit ASCII以前に使われてた ISO 646 では定義されていないので、この環境でも記述できるようにしたという代物なわけです。
ちなみに、自分がトリグラフと出会ったのは数年前。VC6 と CodeWarrior でのクロスコンパイルを想定していたライブラリを、なんとか gcc でビルド出来るように修正してた時です。でもいまだに何でトリグラフ使ってたのかは謎だけど。