可以ptr_vector
用malloc
那个能自动释放内存的吗?
我问的原因是,我必须将指针推送到ptr_vector
对象内部的结构。
如果您的意思是boost::ptr_vector
它是设计使然,但是您需要使用 C++new
语句而不是旧的好 C malloc()/free()
。参见示例:
struct S { int i; double d; };
boost::ptr_vector<S> pv;
// pv now owns dynamic S instance and will destroy it when going out of scope
pv.push_back(new S());
pv[0].i = 42; // Using it as usual
还有一些方法可以定义您自己的分配器,std::allocator
以便它可以使用malloc()/free()
,但看起来并不是您真正需要的。