假设我有一个std::vector<Obj *> objs
(出于性能原因,我的指针不是实际Obj
的)。
obj.push_back(new Obj(...));
我反复填充它。
完成后,我必须delete
推回元素。一种方法是这样做:
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);
你怎么看?