减少 std::vector 的容量
使用向量时,一旦达到稳定的尺寸。这可以释放内存并提高后续读取操作的性能。
问题陈述:
有没有办法减少向量的容量,排除不必要的复制操作和非便携式解决方案?
解决方案:
是的,在 C 11 中,您可以使用 Shrink_to_fit() 成员函数:
std::vector<int> myVector; myVector.shrink_to_fit();
Shrink_to_fit( ) 函数减少向量的容量以匹配其当前大小。根据 C 11 标准草案:
shrink_to_fit is a non-binding request to reduce capacity() to size().
此请求不具有约束力,允许特定于实现的优化。实际上,这意味着调用shrink_to_fit()并不能保证容量会减少。然而,它是减少内存分配和提高读取操作性能的有用工具。
以上是如何在 C 中有效地减少 std::vector 的容量?的详细内容。更多信息请关注PHP中文网其他相关文章!