使用boost容器指针可以来简化操作,有效避免内存泄漏
头文件boost/ptr_container/ptr_container.hpp
命名空间 boost
例子:
class Obj
{
public:
virtual void Call() = 0;
};
class O1: public Obj;
class O2:public Obj;
ptr_vector<Obj> olis;
olis.push_back(new O1);
olis.push_back(new O2);
for_each(olis.begin(),olis.end(), mem_fun_ref(&Obj::Call));