Saya memiliki kelas dengan anggota unique_ptr.
class Foo {
private:
std::unique_ptr<Bar> bar;
...
};
Bilah adalah kelas pihak ketiga yang memiliki fungsi create () dan fungsi destroy ().
Jika saya ingin menggunakan std::unique_ptr
dengan itu dalam fungsi yang berdiri sendiri yang bisa saya lakukan:
void foo() {
std::unique_ptr<Bar, void(*)(Bar*)> bar(create(), [](Bar* b){ destroy(b); });
...
}
Apakah ada cara untuk melakukan ini dengan std::unique_ptr
sebagai anggota kelas?
std::unique_ptr<Bar, decltype(&destroy)> ptr_;