首頁  >  文章  >  後端開發  >  如何將 std::vector 縮小到其實際大小:交換技巧解釋

如何將 std::vector 縮小到其實際大小:交換技巧解釋

Barbara Streisand
Barbara Streisand原創
2024-10-26 07:05:03420瀏覽

How to Shrink a std::vector to its Actual Size: The Swap Trick Explained

縮小std::Vector 的大小:交換技巧

當保留空間沒有時減少std::vector 的容量如果需要更長的時間,可以採用Scott Meyers 在他的《Effective STL》一書中推薦的「交換技巧」。其運作原理如下:

  1. 建立具有所需容量的新向量:
vector<Person> new_persons(size_of_new_vector);
  1. 交換內容原始內容向量和新向量的數量:
new_persons.swap(persons);

執行交換後,原始向量,人,將被“縮小以適應”,這意味著它將僅佔用所需的內存它目前持有的元素數量。

此技術利用了向量的複製構造函數,它僅為正在複製的元素分配內存,有效減少了原始向量的多餘容量。

以上是如何將 std::vector 縮小到其實際大小:交換技巧解釋的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn