跳到主要内容

数据结构面试题

阅读量

0

阅读人次

0

std::vector中resize()和reserve()的区别

reserve()改变的是vectorcapacity,也就是容量,且只在扩大时,也就是reserve()的参数大于当前容易的capacity时才生效,小于时不作用。如果要减小vectorcapacity应该使用shrink_to_fit()capacity等于vectorsize

size()函数用于改变vector的size。当size大于当前capacity时,vector会进行扩容,然后再将现有元素复制到新的内存空间上去。小于capacity时,也只改变size大小,不改变capacity大小。