<分区>
delete pointer
和 pointer = nullptr
是一样的吗?可能不是,但后者会释放内存吗? delete pointer 怎么样? pointer = nullptr
/pointer = nullptr;删除指针
?为什么不使用它来提供一种安全的方法来在需要时过早删除指针,因为它们通常会在其他时间被删除并导致正常删除出错?
<分区>
delete pointer
和 pointer = nullptr
是一样的吗?可能不是,但后者会释放内存吗? delete pointer 怎么样? pointer = nullptr
/pointer = nullptr;删除指针
?为什么不使用它来提供一种安全的方法来在需要时过早删除指针,因为它们通常会在其他时间被删除并导致正常删除出错?
最佳答案
pointer = nullptr;
就像去除名片上的墨水。您不再知道房子的位置,至少从查看那张特定的名片时是这样。但是房子还在。
delete pointer;
就像拆房子一样。名片仍然告诉你那所房子曾经在哪里,但如果你开车去那里(取消引用指针),你会看到房子不见了。或者更糟的是,他们可能同时在那个地址建立了一个核废料储存设施。
关于c++ - 删除指针和将其设置为 nullptr 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31618975/