【发布时间】:2020-06-09 13:11:14
【问题描述】:
我遇到了这些说法:
resize(n) – 调整容器的大小,使其包含“n”个元素。shrink_to_fit() – 减小容器的容量以适应其大小并销毁超出容量的所有元素。
这些功能之间有什么显着区别吗?它们属于 C++ 中的向量
【问题讨论】:
-
resize 修改容器的大小,shrink_to_fit 不会。对于正常使用,您不需要了解 shrink_to_fit,它仅可让开发人员手动提高其代码的性能。
-
标准容器有一个size和一个capacity。大小是容器中当前元素的数量,而容量是分配的内存量(大致)。调整大小改变大小,
shrink_to_fit改变容量。 -
你了解
capacity和size的区别吗?
标签: c++ c++11 vector containers capacity