数据结构面试题
阅读量
0
阅读人次
0
std::vector中resize()和reserve()的区别
reserve()
改变的是vector
的capacity
,也就是容量,且只在扩大时,也就是reserve()
的参数大于当前容易的capacity
时才生效,小于时不作用。如果要减小vector
的capacity
应该使用shrink_to_fit()
让capacity
等于vector
的size
。
size()
函数用于改变vector
的size。当size大于当前capacity
时,vector
会进行扩容,然后再将现有元素复制到新的内存空间上去。小于capacity
时,也只改变size
大小,不改变capacity
大小。