向量中的記憶體預先分配:reserve() 與resize()
在您的場景中,您打算為名為t_Names的向量成員,初始大小為1000。隨後,您計劃在達到大小時將其容量增加 100某些閾值。
關於向量::resize()和向量::reserve()之間的選擇,它們有不同的用途。
resize()透過增加或減少向量來修改向量的大小容量並將任何新元素的值設定為提供的建構子參數(如果省略,則設定為預設值)。這意味著您可以直接存取和迭代這些已初始化的元素。
另一方面,reserve() 只是為向量分配記憶體而不初始化任何元素。它不會影響電流大小,但會增加容量。當您隨後插入元素時,無需重新分配,因為記憶體已提前獲得保護。
在您的情況下,根據提供的編輯,建議避免手動預先分配。相反,依賴向量的自動重新分配。它比手動預分配更有效地優化了這個過程。
但是,如果您事先精確估計了所需的大小,請考慮使用 Reserve() 進行初始預先分配。如有必要,向量將在您插入更多元素時處理額外的重新分配。
以上是我應該使用'reserve()”或'resize()”在 C 向量中預先分配記憶體嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!