STL 向量連續儲存假設
我們能否假設修改後的 STL 向量的元素連續儲存在記憶體?
問題:
給定一個調整大小的STL 向量vc
答案:
是的,但有一個警告。
根據 C 03 標準 (23.2. 4.1),STL向量中的元素是連續儲存的。這表示對於任何元素類型為 T(bool 除外)的向量 v,對於 0 到 v.size() - 1 之間的所有 n 值,&vc[0] n 等於 &vc[n]。
警告:
雖然這個假設通常成立,但重要的是要注意在數組中添加元素時可能發生的潛在記憶體重新分配。向量。如果超出向量的容量,則向量的資料可能會移動到新的記憶體區塊,從而使任何現有的指標或迭代器無效。因此,在依賴這種連續儲存假設時考慮重新分配的可能性至關重要。
以上是調整大小後STL向量記憶體是否連續?的詳細內容。更多資訊請關注PHP中文網其他相關文章!