Benutzerdefinierte Löscher für boost::shared_ptr
Abfrage:
In bestimmten Szenarien Entwickler Möglicherweise muss das Verhalten des Löschvorgangs von boost::shared_ptr angepasst werden. Berücksichtigen Sie die folgenden Ziele:
Lösung:
Die Verwendung der Standard Template Library (STL) bietet eine praktikable Lösung für diese Anforderungen:
<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>
Dieser Ansatz ermöglicht die gewünschte Anpassung des Löschvorgangs für beide boost::shared_ptr-Instanzen.
Das obige ist der detaillierte Inhalt vonWie kann ich den Löschvorgang von „boost::shared_ptr' anpassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!