gpt4 book ai didi

c++ - 删除指针,将其设为 NULL 还是什么都不做?

转载 作者:行者123 更新时间:2023-11-27 22:53:40 25 4
gpt4 key购买 nike

谈论C++。假设我有一个指向对象的指针数组。例如,在位置 Array[6] 中,我想用另一个相同类型的对象替换指向的对象。哪种方法最明智?

1.

delete Array[6];
Array[6]=new Object(...);

2.

Array[6]=NULL;
Array[6]=new Object(...);

3.

Array[6]=new Object(...);

或者我缺少的其他东西。等待建议,谢谢!!

编辑:问题:
是否要删除 Array[6] 指向的对象?如果是这样,请删除 Array[6];。如果不是,请不要删除 Array[6];。我不确定那里有什么可混淆的。

回答:是的,这就是你提到的我想要的。我希望 Array[6] 指向的对象“消失”并在那里创建一个新对象。我的另一个问题:我想在函数中删除数组的一些对象,但在另一个函数中我想访问它们所以我必须检查。哪个是我的支票?或许: if (Array[i]==NULL){..} 还是因为我没有“NULLed”它是错误的?

最佳答案

2和3很可能会造成内存泄漏。因此,我会建议 1,或使用智能指针数组并用新对象重置它们。

关于c++ - 删除指针,将其设为 NULL 还是什么都不做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35188921/

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