Adakah std::vector Menyalin Objek dengan push_back()?
Selepas analisis meluas menggunakan Valgrind, disimpulkan bahawa std::vector melakukan salinan objek yang dimasukkan menggunakan push_back().
Mekanisme Dalaman
Tidak seperti vektor dalam C , yang hanya beroperasi pada rujukan, std::vector dalam stor C objek sebenar. Ini membayangkan bahawa setiap kali push_back() dipanggil, salinan objek yang disisipkan dibuat dan ditambah pada tatasusunan dalaman vektor.
Penyimpanan Penunjuk
Jika anda berhasrat untuk menyimpan penunjuk dalam vektor, anda harus mempertimbangkan untuk menggunakan std::vector
Penunjuk Pintar
Penunjuk Pintar memudahkan pengurusan seumur hidup objek, dengan itu memastikan objek yang terkandung kekal sah semasa dirujuk oleh vektor. Mereka menggunakan simpulan bahasa Pemerolehan Sumber Adalah Permulaan (RAII) untuk memperoleh dan melepaskan sumber secara automatik.
Ringkasnya, std::vector::push_back() mencipta salinan objek yang dimasukkan, tetapi menggunakan penunjuk pintar dengan std ::vektor
Atas ialah kandungan terperinci Adakah `std::vector::push_back()` Mencipta Salinan Objek?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!