Ho una lezione con un membro unique_ptr.
class Foo {
private:
std::unique_ptr<Bar> bar;
...
};
La barra è una classe di terze parti che ha una funzione create () e una funzione destroy ().
Se volessi usare a std::unique_ptr
con esso in una funzione autonoma, potrei fare:
void foo() {
std::unique_ptr<Bar, void(*)(Bar*)> bar(create(), [](Bar* b){ destroy(b); });
...
}
C'è un modo per farlo con std::unique_ptr
come membro di una classe?
std::unique_ptr<Bar, decltype(&destroy)> ptr_;