gpt4 book ai didi

c++ - 内存释放和异常

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:17:38 31 4
gpt4 key购买 nike

我有一个关于内存释放和异常的问题。当我使用 delete 删除在堆上创建的对象时。如果在这个delete之前发生异常,是内存要泄露还是要执行这个delete?

最佳答案

在您描述的情况下,内存将会泄漏。

避免这个问题的两个技巧:

  • 使用不会遇到相同问题的智能指针(首选解决方案)
    --> 智能指针是在栈上构造的,因此无论如何都会调用它的析构函数,并且在析构函数中提供了指向内容的删除

  • 使用try/catch语句,同时删除catch语句中的item

关于c++ - 内存释放和异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3486524/

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