2012-03-01から1ヶ月間の記事一覧

std::vectorの要素の参照型はbool&ではない(場合がある)

std::vector::back() を使うと,末尾の要素の参照を取得できる.これは普通は,T&型だ.ところが,T=bool に限っては,「std::_Bit_reference」型なのだ(少なくとも g++ の場合). 通常,bool を関数の引数として渡すとき,わざわざ参照渡ししようとは思わ…

テンプレートメンバ関数の特殊化はクラス外で

クラスのメンバ関数をテンプレート関数として作成し,さらにそれを特殊化する場合,特殊化は,特殊化宣言も含めてクラス外で行わなければならないらしい.