gpt4 book ai didi

c++ - 动态内存重新分配

转载 作者:太空宇宙 更新时间:2023-11-04 14:44:56 24 4
gpt4 key购买 nike

例如,如果您动态分配一些空间

    struct node*py=new struct node;
struct node*tr=py;
delete py;

分配的内存不应该仍然保留并且不被释放,因为在删除指向相同地址的原始指针之前我确实有另一个指向相同地址的指针吗?

最佳答案

没有。这根本不是 C++ 中内存分配的工作方式。

如果您使用 new 分配内存,然后对其调用 delete,它被删除。内存管理器无法在删除开始后取消或中止删除。 C++ 倾向于完全按照您的要求进行操作,因此如果您真的不想释放一些内存,则不要对其调用 delete

如果你想要引用计数,尝试使用std::shared_ptr(或者boost::shared_ptr,如果你没有std 还没有)。

关于c++ - 动态内存重新分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16020487/

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