縮小std::Vector 的大小:交換技巧
當保留空間沒有時減少std::vector 的容量如果需要更長的時間,可以採用Scott Meyers 在他的《Effective STL》一書中推薦的「交換技巧」。其運作原理如下:
vector<Person> new_persons(size_of_new_vector);
new_persons.swap(persons);
執行交換後,原始向量,人,將被“縮小以適應”,這意味著它將僅佔用所需的內存它目前持有的元素數量。
此技術利用了向量的複製構造函數,它僅為正在複製的元素分配內存,有效減少了原始向量的多餘容量。
以上是如何將 std::vector 縮小到其實際大小:交換技巧解釋的詳細內容。更多資訊請關注PHP中文網其他相關文章!