gpt4 book ai didi

c++ - auto_ptr 在没有分配其返回值的情况下被释放

转载 作者:行者123 更新时间:2023-11-30 01:32:08 29 4
gpt4 key购买 nike

那么,如果释放 auto_ptr 拥有的对象但实际上并未将其分配给原始指针,指针会发生什么情况?似乎它应该被删除,但它永远没有机会。那么它是否会“泄露到野外”?

void usingPointer(int* p); 

std::auto_ptr<int> point(new int);
*point = 3;

usingPointer(point.release());

注意:我不再使用 auto_ptr,我现在使用 tr1::shared_ptr。这种情况让我很好奇。

最佳答案

除非 usingPointerp 上调用 delete,否则这是内存泄漏。如果您调用 get 而不是 release,那么当 point 超出范围时,内存将被自动删除。

关于c++ - auto_ptr 在没有分配其返回值的情况下被释放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2076753/

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