vector的reserve()和resize()方法之间有什么区别?
首先,vector
的容量capacity()
是指在不分配更多内存的情况下可以保存的最多元素个数,而vector
的大小size()
是指实际包含的元素个数;
其次,vector
的reserve(n)
方法只改变vector
的容量,如果当前容量小于n
,则重新分配内存空间,调整容量为n
;如果当前容量大于等于n
,则无操作;
最后,vector
的resize(n)
方法改变vector
的大小,如果当前容量小于n
,则调整容量为n
,同时将其全部元素填充为初始值;如果当前容量大于等于n
,则不调整容量,只将其前n
个元素填充为初始值。
评论(1)
resize(n),当前容量小于n时,将删除第n个元素之后的所有元素,且前面的元素不变