Memeriksa Kes untuk Setara Bukan Atom std::shared_ptr
Pengenalan
Petunjuk pintar dalam C 11 menawarkan mekanisme yang berkuasa untuk pengurusan memori, dengan std::shared_ptr menjadi pilihan utama untuk pemilikan bersama. Walau bagaimanapun, sifat atomnya memperkenalkan overhed yang mungkin tidak perlu atau tidak diingini dalam senario tertentu. Artikel ini meneroka ketiadaan setara bukan atom std::shared_ptr dalam pustaka standard dan mengkaji kemungkinan sebab di sebalik keputusan ini.
Pencarian untuk Alternatif Bukan Atom
Bertentangan dengan premis soalan, std::shared_ptr bukanlah satu-satunya penunjuk pintar dalam
Sebab Pengecualian
Walaupun potensi manfaat bukan- atomic shared_ptr, jawatankuasa piawaian C memilih untuk tidak memasukkan satu dalam C 11. Keputusan itu berpunca daripada perdebatan hangat pada mesyuarat Rapperswil 2010. Hujah menentang kemasukannya termasuk:
Kesimpulan
Ketiadaan setara bukan atom bagi std::shared_ptr dalam piawaian C 11 adalah pelbagai rupa. Walaupun ia menjejaskan prinsip "bayar untuk apa yang anda gunakan", ia mengutamakan konsistensi, mengelakkan ralat dan overhed prestasi minimum. Keputusan itu mencerminkan kompromi antara menyediakan fleksibiliti optimum dan memastikan keteguhan kod.
Atas ialah kandungan terperinci Mengapa tiada setara bukan atom std::shared_ptr dalam perpustakaan standard C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!