« 2004年10月08日 | メイン | 2004年10月10日 »
2004年10月09日
AOpenのPentium Mマザー発売
Pentium M普及の火付け役?AOpenの廉価Pentium Mマザー登場
ついに入荷!AOpen製Pentium Mマザーが一斉に販売開始!
秋葉原でEPIA-Nの動作デモが開始 - AOpenのPentium Mマザーも売り切れ必至
AOpen製コンシューマ向け「Pentium M」対応マザーボードが発売!
ようやく発売されましたが、価格が横並びなのが気になるところです。とりあえず10月17日にあると噂のPentium Mの価格改定を待ちましょうか。
DVD「キル・ビル Vol.2」購入
Amazonから「キル・ビル Vol.2」のDVDが届きました。Vol. 1からまとめて観てみるのが楽しみです。
Boostを試してみよう その2
インストールが済んだので、さっそく試してみました。とりあえずlexical_castとbindを使って既存のプログラムを書き直してみることにします。
lexical_castはその名の通り文字列変換を行うもので、今まで文字列からint型への変換を
method->SetSyncCtrlCode(atoi(text));
といったように書いていたのが、
method->SetSyncCtrlCode(boost::lexical_cast<int>(text));
と書くことができます。これだけだとあまりメリットはないように思えますが、int型から文字列型への変換も同じように書くことができます。変換の失敗時にbad_lexical_cast例外を投げてくれるのもいいですね。それと、Boost C++ Libraryプログラミングにも書かれていましたが、C++組み込みのキャスト演算子(reinterpret_castやdynamic_castなど)と見た目が似ているのも気に入りました。
bindはSTLのバインダと似ていますが、かなり強力です。STLではバインダとメンバ関数ポインタ・アダプタを組み合わせて
std::for_each(methods.begin(), methods.end(), std::bind2nd(std::mem_fun(&CBasicData::Accept), this));
このように書いていたのが、
std::for_each(methods.begin(), methods.end(), boost::bind(&CBasicData::Accept, _1, this));
と書くことができます。
