【C++】template 統合スレ -- Part6at TECH【C++】template 統合スレ -- Part6 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト700:デフォルトの名無しさん 05/06/26 19:33:36 >>699 typedef std::set< int > set_type; typedef std::vector< set_type > vector_type; void f( vector_type& v ) { using namespace boost::lambda; int k = 0; std::for_each(v.begin(), v.end(), (protect(bind((std::pair<set_type::iterator,bool> (set_type::*)(int const&))(&set_type::insert), _1, var(k)++)))(*_1)); } ○ boost::lambda か何かを使って ○ for_each で × シンプルに 701:700 05/06/26 19:49:39 メンバ関数に限らず、オーバーロードが絡むと lambda は使いにくいな。 702:デフォルトの名無しさん 05/06/27 06:52:07 protect要るか? >>701 C++は名前が重なった場合の簡潔な指名定方法がないしね。 lambdaに限らず面倒。 typeofがBoostに入るそうだから、そのうち頑張って改善されるといいな。 703:700 05/06/27 07:50:29 >>702 こんな感じで変形していったが、途中のやつの エラーメッセージがひどくて(数100行ぐらい出る)、 何がまずかったのかよくわかってない。 × ((*_1)->*insert)(var(k)++) × bind(insert, *_1, var(k)++) ○ (protect(bind(insert, _1, var(k)++)))(*_1) 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch