gpt4 book ai didi

C++ 当 std::allocator 超出范围时会发生什么?

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

当 std::allocator 超出范围时会发生什么?它管理的资源会发生什么变化?如果没有提前释放,是否泄露?

最佳答案

std::allocator 超出范围时,它管理的资源不会发生任何事情。

任何通过 std::allocator::allocate 分配的资源都应该通过调用 std::allocator::deallocate 显式释放。

std::allocator 的任何实例都可以用于释放,但不一定是用于分配的实例,因为

The default allocator is stateless, that is, all instances of the given allocator are interchangeable, compare equal and can deallocate memory allocated by any other instance of the same allocator type.

( https://en.cppreference.com/w/cpp/memory/allocator )

关于C++ 当 std::allocator 超出范围时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57166960/

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