std :: allocator超出范围会发生什么?它管理的资源会怎样?如果没有提前释放,是否泄漏了?
答案 0 :(得分:5)
std::allocator
超出范围时,它管理的资源没有任何反应。
通过std::allocator::allocate
分配的任何资源都应通过调用std::allocator::deallocate
显式释放。
std::allocator
的任何实例都可以用于释放,而不必用于分配,因为
默认分配器是无状态的,即, 给定的分配器是可互换的,比较相等,可以取消分配 相同分配器类型的任何其他实例分配的内存。