我是否需要在类声明中使用常量值声明的成员数组上调用 delete[]?

Yucel_K

这是一个代码示例,希望能证明我的困惑

#define MAX_LENGTH 5
class Bar
{
private:
    Foo *_myFooArray[MAX_LENGTH];
public:
    Bar()
    {
        for (int i = 0; i < MAX_LENGTH; ++i)
        {
            _myFooArray[i] = new Foo(i);
        }
    }
};

因为我没有用 new 创建数组,所以我认为我不能使用 delete[] 但是如果我想删除动态分配的对象怎么办?遍历数组并一次删除一个?因此;

~Bar()
{
    for (int i = 0; i < MAX_LENGTH; ++i)
    {
        delete _myFooArray[i];

    }
}

我可能会听到你们中的一些人对我尖叫使用矢量!!我很感激。我只是想学习。仅出于完整性考虑,如果出于某种原因我不得不如上所述使用数组,那么除了正确删除数组之外,我还有什么需要特别注意的吗?

用户439793

不使用智能指针时,C ++中的规则之一是“每个都new需要一个delete。”。

必须使用问题中的析构函数来避免内存泄漏。数组本身没有分配 usingnew所以你不需要delete它。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

laravel:在null上调用成员函数delete()

来自分类Dev

在 null 上调用成员函数 delete()

来自分类Dev

在空Laravel上调用成员函数delete()

来自分类Dev

是否需要在原始指针位置调用delete []

来自分类Dev

在NULL指针上调用delete或delete []

来自分类Dev

在std :: vector上调用delete

来自分类Dev

致命错误:在非对象wordpress上调用成员函数delete()

来自分类Dev

在向量中创建的新数组是否需要使用delete?

来自分类Dev

如果我在Javascript中使用Delete,那么var x和simple x声明有什么区别?

来自分类Dev

在类中的几个数组上调用delete []时得到“检测到堆损坏”-C ++

来自分类Dev

Laravel delete()静态调用

来自分类Dev

angularjs DELETE对象数组

来自分类Dev

在调用基类之前需要在成员上调用方法

来自分类Dev

使用golang的DELETE端点

来自分类Dev

使用= default表示= delete

来自分类Mysql

在TRIGGER中使用DELETE LIMIT

来自分类Dev

在BigQuery中使用`With`然后`Delete`

来自分类Dev

使用新的导致错误声明数组后的delete []关键字

来自分类Dev

是否需要在类构造函数中声明所有成员

来自分类Dev

在声明时使用 val.Class 定义类对象数组,在构造函数初始值设定项列表中使用数组 & 使用成员数组分配的 ptr 成员

来自分类Dev

声明对另一个类的模板化成员数组的模板化成员引用

来自分类Dev

真的有必要在这个指针上调用delete吗

来自分类Dev

我是否需要在Xcode 9,Swift 4中使用cocoapods明确声明要安装哪个版本的alamofire

来自分类Dev

删除未定义的属性和const声明的属性有什么区别,让我们在Javascript中使用delete运算符?

来自分类Dev

从SSIS调用Delete语句失败

来自分类Dev

复制指针,然后调用delete

来自分类Dev

如何在 Laravel 5.7 中修复“在 null 上调用成员函数 delete()”

来自分类Dev

调用函数时,无效的free()/ delete / delete [] / realloc()错误

来自分类Dev

如何知道何时在C ++中调用delete和何时delete []?

Related 相关文章

  1. 1

    laravel:在null上调用成员函数delete()

  2. 2

    在 null 上调用成员函数 delete()

  3. 3

    在空Laravel上调用成员函数delete()

  4. 4

    是否需要在原始指针位置调用delete []

  5. 5

    在NULL指针上调用delete或delete []

  6. 6

    在std :: vector上调用delete

  7. 7

    致命错误:在非对象wordpress上调用成员函数delete()

  8. 8

    在向量中创建的新数组是否需要使用delete?

  9. 9

    如果我在Javascript中使用Delete,那么var x和simple x声明有什么区别?

  10. 10

    在类中的几个数组上调用delete []时得到“检测到堆损坏”-C ++

  11. 11

    Laravel delete()静态调用

  12. 12

    angularjs DELETE对象数组

  13. 13

    在调用基类之前需要在成员上调用方法

  14. 14

    使用golang的DELETE端点

  15. 15

    使用= default表示= delete

  16. 16

    在TRIGGER中使用DELETE LIMIT

  17. 17

    在BigQuery中使用`With`然后`Delete`

  18. 18

    使用新的导致错误声明数组后的delete []关键字

  19. 19

    是否需要在类构造函数中声明所有成员

  20. 20

    在声明时使用 val.Class 定义类对象数组,在构造函数初始值设定项列表中使用数组 & 使用成员数组分配的 ptr 成员

  21. 21

    声明对另一个类的模板化成员数组的模板化成员引用

  22. 22

    真的有必要在这个指针上调用delete吗

  23. 23

    我是否需要在Xcode 9,Swift 4中使用cocoapods明确声明要安装哪个版本的alamofire

  24. 24

    删除未定义的属性和const声明的属性有什么区别,让我们在Javascript中使用delete运算符?

  25. 25

    从SSIS调用Delete语句失败

  26. 26

    复制指针,然后调用delete

  27. 27

    如何在 Laravel 5.7 中修复“在 null 上调用成员函数 delete()”

  28. 28

    调用函数时,无效的free()/ delete / delete [] / realloc()错误

  29. 29

    如何知道何时在C ++中调用delete和何时delete []?

热门标签

归档