●STL スレッド●
■ このスレッドは過去ログ倉庫に格納されています
0286デフォルトの名無しさん
NGNGvector の参照 v を渡したときに、
f(v) の実行 => v.resize(num) の実行
となるような関数オブジェクト f を作りたいんじゃないの。たとえばネストした 2 次元の vector があったときに、
内側の vector に対して、まとめて resize とか reserve したい場合に使える。こんな感じか。
vector<vector<int> > vv;
for_each(vv.begin(), vv.end(), bind2nd(mem_fun_ref(&vector<int>::reserve), 1));
for_each(vv.begin(), vv.end(), boost::bind(&vector<int>::resize, _1, 1));
Borland C++ Compiler 5.5.1 と gcc 2.95.3 で試してみたけど、コンパイルが通ったり通らなかったりだなぁ。
VC6 は void 型のメソッドに対して関数オブジェクト作れないので論外だけど。
■ このスレッドは過去ログ倉庫に格納されています