Rumah >pembangunan bahagian belakang >C++ >Mengapa `std::shared_ptr` Tidak Mempunyai Pengkhususan untuk Jenis Tatasusunan?
Pengkhususan std::shared_ptr
C Standard Library termasuk templat khusus untuk std: :unique_ptr yang sesuai memanggil delete[] dalam pemusnahnya. Walau bagaimanapun, pengkhususan yang serupa tiada untuk std::shared_ptr, yang memerlukan penggunaan pemadam tersuai untuk mengagihkan tatasusunan dengan betul.
Sebab Kekurangan Pengkhususan
Pada mulanya , peninggalan std::shared_ptr
Akhirnya, ketiadaan cadangan untuk std::shared_ptr
Status Semasa
Walaupun kekurangan templat khusus, C 17 memperkenalkan sokongan tatasusunan separa untuk shared_ptr, seperti yang dinyatakan dalam kes ketiga kaedah shared_ptr::shared_ptr(). Kemas kini ini membolehkan penciptaan dan pemusnahan tatasusunan menggunakan shared_ptr, walaupun tanpa kemudahan pengkhususan khusus.
Prospek Masa Hadapan
Draf TS (Spesifikasi Teknikal) N4077 menggariskan laluan berpotensi ke arah sokongan tatasusunan dalam shared_ptr, dan ciri ini akhirnya dimasukkan ke dalam C 17. Pembangunan berterusan daripada C mungkin membawa peningkatan lanjut pada kawasan ini, menawarkan fleksibiliti dan ekspresif tambahan untuk pengurusan tatasusunan menggunakan penunjuk dikongsi.
Atas ialah kandungan terperinci Mengapa `std::shared_ptr` Tidak Mempunyai Pengkhususan untuk Jenis Tatasusunan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!