Como uso um deleter personalizado com um membro std :: unique_ptr?
Eu tenho uma classe com um membro unique_ptr.
class Foo {
private:
std::unique_ptr<Bar> bar;
...
};
A barra é uma classe de terceiros que possui uma função create () e uma função destroy ().
Se eu quisesse usar umstd::unique_ptr
com ele em uma função independente, eu poderia fazer:
void foo() {
std::unique_ptr<Bar, void(*)(Bar*)> bar(create(), [](Bar* b){ destroy(b); });
...
}
Existe uma maneira de fazer isso comstd::unique_ptr
como membro de uma classe?