首頁 > 後端開發 > C++ > 主體

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

Barbara Streisand
發布: 2024-10-26 07:05:03
原創
419 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!