将ptr_vector与malloc一起使用

时间:2012-09-13 16:18:10

标签: c++ c boost

可以ptr_vector与可以自动释放内存的malloc一起使用吗?

我问的原因是,我必须将指针推到ptr_vector对象内的结构。

1 个答案:

答案 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(),但看起来并不是您真正需要的。