Мне нужно сделать пользовательское удаление для shared_ptr. Я знаю, что это можно сделать аналогичным образом:
std::shared_ptr<SDL_Surface>(Surf_return_f(), MyDeleter);
Но я бы хотел сделать их в стиле моего пользовательского удалителя для unique_ptr:
struct SDL_Surface_Deleter {
void operator()(SDL_Surface* surface) {
SDL_FreeSurface(surface);
}
};
using SDL_Surface_ptr = std::unique_ptr<SDL_Surface, SDL_Surface_Deleter>;
Есть ли способ сделать это?