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

sid*_*sid 0 c++ allocator

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

Ser*_*eyA 5

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

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

std::allocator可以使用的任何实例进行释放,而不必使用用于分配的实例,因为

默认分配器是无状态的,也就是说,给定分配器的所有实例都是可互换的,比较相等,并且可以取消分配由同一分配器类型的任何其他实例分配的内存。

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