使用需要特定刪除機制的第三方類別時,您可能會遇到需要以下情況的情況:使用帶有std::unique_ptr 成員變數的自訂刪除器。本文提供了實現此目的的解決方案。
想像一下,您有一個帶有 std::unique_ptr 類型的成員變數的類別 Foo。在這種場景下,第三方類別 Bar 有專門的 create() 和 destroy() 函數,用於物件建立和銷毀。
在獨立函數中,您可以使用具有std::unique_ptr 的自訂刪除器,如下所示:
void foo() { std::unique_ptr<Bar, void(*)(Bar*)> bar(create(), [](Bar* b){ destroy(b); }); ... }
class Foo { std::unique_ptr<Bar, void(*)(Bar*)> ptr_; // ... public: Foo() : ptr_(create(), destroy) { /* ... */ } // ... };將自訂刪除器,如下所示:
以上是如何將自訂刪除器與'std::unique_ptr”成員變數一起使用? ````的詳細內容。更多資訊請關注PHP中文網其他相關文章!