限制c ++中向量的增长

时间:2012-11-25 12:59:17

标签: c++ vector

是否可以限制vector.max_size()以限制向量的增长?

如果没有,是否具有观察vector.capacity()的功能,以确保它不会超过确定数量的可行替代品?

2 个答案:

答案 0 :(得分:6)

排序。您可以编写自定义分配器并在std::vector(向量的第二个模板参数)中使用它。分配器需要满足these requirements。但是,正确地做到这一点并不简单。并且您的vector不会在达到最大尺寸后忽略push_back,它会抛出。{/ p>

答案 1 :(得分:1)

不是真的。但是你可以定义你自己的vector子类(或者创建你自己的全新的vector实现),如果你真的想要的话,这将允许强制执行这个要求。