删除共享指针向量时可能的内存泄漏

哈尼·格克(Hani Goc)

我有以下向量:

  • vector<boost::shared_ptr<Entity>> entities;

为了重置我正在使用的向量erase

  • entities.erase(entities.begin(), entities.end());

问题

这个程序正确吗?会导致内存泄漏吗?我还应该删除FactClass吗?


类实体

类的构造函数将类型Entity为的共享指针的向量作为参数FactClass

class Entity
{
public:
    Entity(std::vector<boost::shared_ptr<FactClass>>);
    vector<boost::shared_ptr<FactClass>> getClassFact() const;
private:
    vector<boost::shared_ptr<FactClass>> _listFacts;
};

类事实类

类的构造函数FactClass将类型Fact共享指针的向量作为参数

class FactClass
{
    public:
        FactClass(std::vector<boost::shared_ptr<Fact>>);
        std::vector<boost::shared_ptr<Fact>> getFacts() const;
    private:
        vector<boost::shared_ptr<Fact>> _fact;
};

Shubham Aggarwal

clear()的定义是带有线性复杂度的Erase()。在擦除中,我们将范围作为参数提供,而clear是整个范围的擦除实现。

  • Entity.erase(entities.begin(),entity.end());

与...相同

  • Entity.clear();

并且它们使向量的Capacity()保持不变,因此没有内存泄漏。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

清除共享指针向量后内存泄漏

来自分类Dev

从映射中删除对象指针时避免内存泄漏

来自分类Dev

从映射中删除对象指针时避免内存泄漏

来自分类Dev

多个内存泄漏-向量和指针

来自分类Dev

从向量中删除值导致的内存泄漏

来自分类Dev

共享指针时可以安全删除指针向量的父对象吗?

来自分类Dev

reinterpret_cast-ing后调用父指针上的delete删除时,内存是否泄漏?

来自分类Dev

指针是否总是导致内存泄漏,或者在超出范围时将其删除?

来自分类Dev

在Visual Studio中删除C ++中的嵌套指针时发生内存泄漏

来自分类Dev

如何在没有内存泄漏的情况下删除对象指针的2D向量?C ++和SFML

来自分类Dev

共享指针的向量,清除向量后出现内存问题

来自分类Dev

共享指针的向量,清除向量后出现内存问题

来自分类Dev

向量的内存泄漏

来自分类Dev

向量的内存泄漏

来自分类Dev

内存泄漏C ++指针

来自分类Dev

内存泄漏双指针

来自分类Dev

sqlite3共享库中可能的内存泄漏

来自分类Dev

unique_ptr的向量未完全删除(内存泄漏)

来自分类Dev

unique_ptr的向量未完全删除(内存泄漏)

来自分类Dev

带有智能指针的可能的内存泄漏

来自分类Dev

内存泄漏,我的问题可能出在指针上吗 [swift]

来自分类Dev

使用类的向量时是否会遇到内存泄漏?(C ++)

来自分类Dev

Android:使用共享 EGL 上下文时内存泄漏

来自分类Dev

使用智能指针时发生内存泄漏

来自分类Dev

malloc'和realloc'指针导致返回时的内存泄漏

来自分类Dev

为什么指向同一个内存的多个共享指针会导致内存泄漏?

来自分类Dev

删除向量中的指针时出错

来自分类Dev

删除向量中的指针时出错

来自分类Dev

iOS-可能会删除nsmutablearray导致内存泄漏?

Related 相关文章

  1. 1

    清除共享指针向量后内存泄漏

  2. 2

    从映射中删除对象指针时避免内存泄漏

  3. 3

    从映射中删除对象指针时避免内存泄漏

  4. 4

    多个内存泄漏-向量和指针

  5. 5

    从向量中删除值导致的内存泄漏

  6. 6

    共享指针时可以安全删除指针向量的父对象吗?

  7. 7

    reinterpret_cast-ing后调用父指针上的delete删除时,内存是否泄漏?

  8. 8

    指针是否总是导致内存泄漏,或者在超出范围时将其删除?

  9. 9

    在Visual Studio中删除C ++中的嵌套指针时发生内存泄漏

  10. 10

    如何在没有内存泄漏的情况下删除对象指针的2D向量?C ++和SFML

  11. 11

    共享指针的向量,清除向量后出现内存问题

  12. 12

    共享指针的向量,清除向量后出现内存问题

  13. 13

    向量的内存泄漏

  14. 14

    向量的内存泄漏

  15. 15

    内存泄漏C ++指针

  16. 16

    内存泄漏双指针

  17. 17

    sqlite3共享库中可能的内存泄漏

  18. 18

    unique_ptr的向量未完全删除(内存泄漏)

  19. 19

    unique_ptr的向量未完全删除(内存泄漏)

  20. 20

    带有智能指针的可能的内存泄漏

  21. 21

    内存泄漏,我的问题可能出在指针上吗 [swift]

  22. 22

    使用类的向量时是否会遇到内存泄漏?(C ++)

  23. 23

    Android:使用共享 EGL 上下文时内存泄漏

  24. 24

    使用智能指针时发生内存泄漏

  25. 25

    malloc'和realloc'指针导致返回时的内存泄漏

  26. 26

    为什么指向同一个内存的多个共享指针会导致内存泄漏?

  27. 27

    删除向量中的指针时出错

  28. 28

    删除向量中的指针时出错

  29. 29

    iOS-可能会删除nsmutablearray导致内存泄漏?

热门标签

归档