当我通过 Allocator 学习 STL 时,我在互联网上找到了很多东西,我或多或少地了解了它们的作用。我看过一个自定义分配器来了解它们是如何实现的,但我的问题是容器如何使用它们,比如说 Vector ?
他们总是说向量正在使用默认分配器。例如,空向量构造函数是:
explicit vector (const allocator& alloc = allocator());
但是 vector 如何使用分配器?
幕后的向量何时何地使用 Allocator::allocate() 和 Allocator::construct() ?
知道了,为什么需要自定义分配器,它有什么变化?