gpt4 book ai didi

c++ - 将 ptr_vector 与 malloc 一起使用

转载 作者:行者123 更新时间:2023-11-30 17:58:11 26 4
gpt4 key购买 nike

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() 但看起来这不是您的确实需要。

关于c++ - 将 ptr_vector 与 malloc 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12410605/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com