可以ptr_vector
与可以自动释放内存的malloc
一起使用吗?
我问的原因是,我必须将指针推到ptr_vector
对象内的结构。
答案 0 :(得分:0)
如果您的意思是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()
,但看起来并不是您真正需要的。