缩小 std::vector 的容量
在处理填充后主要用于读取的向量时,它可能有利于减少其容量。
当前解决方案
通常,开发人员会创建一个具有指定大小的新向量并复制元素。然而,这种方法引入了不必要的复制操作。
C 11 解决方案
对于 C 11 用户,shrink_to_fit() 成员函数提供了一个方便的解决方案。
vec.shrink_to_fit();
实施详细信息
正如 C 11 标准草案中所述,shrink_to_fit() 是一个“非约束性请求”,用于减少容量大小。这种灵活性允许特定于实现的优化。实际上,大多数实现都会尝试将容量减少到所请求的大小。但是,他们保留根据系统资源或潜在的未来需求等因素进行优化的自由。
以上是如何减少 C 中 std::vector 的容量?的详细内容。更多信息请关注PHP中文网其他相关文章!