gpt4 book ai didi

c++ - 我可以根据是否有东西可以释放来释放内存吗?

转载 作者:行者123 更新时间:2023-11-28 05:27:06 35 4
gpt4 key购买 nike

<分区>

我正在尝试消除一些困惑代码中的所有内存泄漏。我有一个 Employee 类,其成员 name_ 在运行时使用 new *char 在堆上分配。现在有一些实例,其中 name_Employee 的析构函数被调用之前被手动删除。我知道这是不好的做法。但是,有些情况下我仍然需要通过析构函数删除name_。我试过类似的东西

Employee::~Employee(){
if (this->name_)
{
delete[] this->name_;
}
}

if (this->name_ != NULL)
{
delete[] this->name_;
}

if (this->name_[0] != '\0')
{
delete[] this->name_;
}

但是那些选项没有意识到 name_ 已经被删除到其他地方并试图删除一些不再存在的东西。

所以我需要类似的东西

if (char* name_ not deleted yet)
{
delte name_
}

有没有一种方法可以检查if 成员是否已经被删除?

编辑:感谢您提供已经回答我的问题的链接,确实如此!

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