H-0*_*005 1 c++ vector stdvector dynamic-memory-allocation c++11
据我所知,.reserve()为向量保留内存而不实际修改其大小。但这是如何实现的呢?如何只保留内存而不分配内存呢?
编辑:我具体询问如何保留内存而不分配内存,而不是std::vector一般如何工作
vector::reserve确实分配内存,所以你关于保留内存而不分配的问题是不正确的。关键是可以在不改变向量大小的情况下保留内存。基本上,向量有两种大小,即大小和容量。reserve分配内存并更改容量,但不更改大小。
在任何给定时间,以下情况都是正确的0 <= size <= capacity。容量反映了分配的内存量,大小反映了该内存中构造元素的数量。
| 归档时间: |
|
| 查看次数: |
2176 次 |
| 最近记录: |