限制 C++ 中向量的增长

limit the growth of a vector in c++

本文关键字:向量 C++ 限制      更新时间:2023-10-16

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

如果不是,那么有一个功能来观察vector.capacity()以确保它不会超过确定的数量是一个可行的替代品吗?

有点。您可以编写自定义分配器并在std::vector(向量的第二个模板参数)中使用它。分配器需要满足这些要求。但是,正确执行此操作并不简单。而且,您的vector不会在达到最大大小后忽略push_back,还会抛出。

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