ぬらぶる
プログラミングをする上で、不定、無効な値というものがよく出てきます。たとえば、リストボックスで選択されている要素の番号を得るときに、要素が選択されていない場合などです。ポインタならNULL、数字の場合だと-1とかで無理やり解決したりします。boostのoptionalは、もう少しスマートに解決してくれます。で、これと同じような機能がC# 2.0にSystem.Nullableとしてつくようです*1。
optional< int > i; // boost Nullable< int > i; // Nullable int? i; // Nullableの別表記
最初はoptionalと同じだと思ってましたが、まさか?とは…