があるとしますstd::vector<Obj *> objs
(パフォーマンス上の理由から、実際の s ではなくポインターがありますObj
)。
obj.push_back(new Obj(...));
繰り返し入力します。
終わったらdelete
、押し戻された要素に取り掛かる必要があります。1つの方法はこれを行うことです:
for (std::vector<Obj *>::iterator it = objs.begin(); it != objs.end(); ++it) {
delete *it;
}
for_each
ただし、アルゴリズムを使用して同じことができるかどうかに興味があります。
#include <algorithm>
...
for_each(objs.begin(), objs.end(), delete);
どう思いますか?