12
data* a_c = alloc_data(); std::unique_ptr<data, decltype(&dealloc_data)> a_cpp (a_c, dealloc_data);
123456789
//Just to reduce boilerplate type declarations. template <typename T, typename F> std::unique_ptr<T, F> to_unique(T *p, const F &f){ return std::unique_ptr<T, F>(p, f); } //... auto a_cpp = to_unique(alloc_data(), &dealloc_data);