Ich habe eine Klasse mit einem unique_ptr-Mitglied.
class Foo {
private:
std::unique_ptr<Bar> bar;
...
};
Die Leiste ist eine Klasse von Drittanbietern mit einer Funktion create () und einer Funktion destroy ().
Wenn ich a std::unique_ptr
damit in einer eigenständigen Funktion verwenden wollte, könnte ich Folgendes tun:
void foo() {
std::unique_ptr<Bar, void(*)(Bar*)> bar(create(), [](Bar* b){ destroy(b); });
...
}
Gibt es eine Möglichkeit, dies std::unique_ptr
als Mitglied einer Klasse zu tun ?
std::unique_ptr<Bar, decltype(&destroy)> ptr_;