【发布时间】:2016-06-15 14:43:26
【问题描述】:
据我所知,当vector 空间不足时,分配器用于创建新空间。但是,我想创建一个自定义调整大小策略,该策略将删除底部 25% 的元素并始终保持相同的大小。这是为了构建一个空间有限的缓存。
是否有我可以重写的方法或默认函子以获得我想要的行为?
【问题讨论】:
-
这不是分配器的责任。试试 Boost.CircularBuffer。
-
您需要为这些元素调用析构函数,而分配器的级别太低,无法做到这一点。您可能根本不想要
std::vector。看看boost::circular_buffer。
标签: c++ memory-management allocation