Rumah >pembangunan bahagian belakang >C++ >Cara Mengecilkan std::vector kepada Saiz Sebenarnya: Penjelasan Helah Swap

Cara Mengecilkan std::vector kepada Saiz Sebenarnya: Penjelasan Helah Swap

Barbara Streisand
Barbara Streisandasal
2024-10-26 07:05:03507semak imbas

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

Mengecilkan std::Vector: The Swap Trick

Untuk mengurangkan kapasiti std::vector apabila ruang yang dikhaskan tiada lebih lama diperlukan, "helah pertukaran" yang disyorkan oleh Scott Meyers dalam bukunya "STL Berkesan" boleh digunakan. Begini caranya:

  1. Buat vektor baharu dengan kapasiti yang diingini:
vector<Person> new_persons(size_of_new_vector);
  1. Tukar kandungan daripada vektor asal dan baharu:
new_persons.swap(persons);

Selepas melakukan pertukaran, vektor asal, orang, akan "mengecilkan untuk muat," bermakna ia hanya akan menduduki memori yang diperlukan untuk bilangan elemen yang dipegangnya pada masa ini.

Teknik ini memanfaatkan pembina salinan vektor, yang memperuntukkan memori hanya untuk elemen yang disalin, dengan berkesan mengurangkan kapasiti berlebihan vektor asal.

Atas ialah kandungan terperinci Cara Mengecilkan std::vector kepada Saiz Sebenarnya: Penjelasan Helah Swap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn