J'ai une classe avec un membre unique_ptr.
class Foo {
private:
std::unique_ptr<Bar> bar;
...
};
La barre est une classe tierce qui a une fonction create () et une fonction destroy ().
Si je voulais utiliser un std::unique_ptr
avec lui dans une fonction autonome, je pourrais faire:
void foo() {
std::unique_ptr<Bar, void(*)(Bar*)> bar(create(), [](Bar* b){ destroy(b); });
...
}
Existe-t-il un moyen de faire cela en std::unique_ptr
tant que membre d'une classe?
std::unique_ptr<Bar, decltype(&destroy)> ptr_;