Memuatkan Fail dengan Cekap ke dalam std::vector
Untuk memuatkan fail dengan cekap ke dalam std::vector Kaedah Kanonik Menggunakan Iterator: Kaedah kanonik pendekatan menggunakan iterator aliran input untuk membina vektor daripada fail dengan mudah kandungan: Dengan menggunakan iterator strim dan pra-peruntukkan memori apabila perlu, pendekatan ini menawarkan fail yang cekap memuatkan ke dalam std::vector Atas ialah kandungan terperinci Bagaimana untuk memuatkan fail dengan cekap ke dalam `std::vector`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!#include <iterator>
// ...
std::ifstream testFile("testfile", std::ios::binary);
std::vector<char> fileContents((std::istreambuf_iterator<char>(testFile)),
std::istreambuf_iterator<char>());</p>
<p><strong>Mengoptimumkan Pembahagian Semula:</strong></p>
<p>Jika meminimumkan pengagihan semula memori adalah penting, peruntukkan ruang dalam vektor sebelum memuatkan kandungan fail:</p>
<pre class="brush:php;toolbar:false">#include <iterator>
// ...
std::ifstream testFile("testfile", std::ios::binary);
std::vector<char> fileContents;
fileContents.reserve(fileSize);
fileContents.assign(std::istreambuf_iterator<char>(testFile),
std::istreambuf_iterator<char>());