Custom Deleters for boost::shared_ptr
Query:
In certain scenarios, developers may encounter the need to customize the behavior of boost::shared_ptr's deletion process. Consider the following objectives:
Solution:
Using the Standard Template Library (STL) offers a viable solution to these requirements:
<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>
This approach allows for the desired customization of the deletion process for both boost::shared_ptr instances.
The above is the detailed content of How Can I Customize the Deletion Process of `boost::shared_ptr`?. For more information, please follow other related articles on the PHP Chinese website!