在c++中,vector的resize()和reserve()函數都可以用來調整vector的大小,但它們之間有一些關鍵區別:
resize()函數用于調整vector中元素的數量,并且可以指定新的大小。如果新的大小大于當前大小,那么會添加新的元素并進行值初始化;如果新的大小小于當前大小,那么會刪除多余的元素。resize()函數會改變vector的size,并可能改變vector的capacity。
reserve()函數用于預先分配vector的容量,但不會改變vector的大小。當調用reserve()函數時,vector的capacity會增加,但vector的size不會改變。這樣可以減少在插入元素時的內存重新分配的次數,從而提高性能。
綜上所述,resize()函數通常用于調整vector的大小,而reserve()函數用于優化內存分配的性能。