Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Menyesuaikan Proses Pemadaman `boost::shared_ptr`?
Penghapus Tersuai untuk rangsangan::shared_ptr
Pertanyaan:
Dalam senario tertentu, pembangun mungkin menghadapi keperluan untuk menyesuaikan tingkah laku proses pemadaman boost::shared_ptr. Pertimbangkan objektif berikut:
Penyelesaian:
Menggunakan Perpustakaan Templat Standard (STL) menawarkan penyelesaian yang berdaya maju untuk keperluan ini:
<code class="cpp">// Custom deleter for shared_ptr that invokes ptr->deleteMe() boost::shared_ptr<T> ptr(new T, std::mem_fun_ref(&T::deleteMe)); // Custom deleter for shared_ptr that invokes lib_freeXYZ(ptr) boost::shared_ptr<S> ptr(new S, std::ptr_fun(lib_freeXYZ));</code>
Pendekatan ini membolehkan penyesuaian proses pemadaman yang dikehendaki untuk kedua-dua rangsangan::shared_ptr.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyesuaikan Proses Pemadaman `boost::shared_ptr`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!