Есть ли класс хранения ресурсов?

Есть выделенный ресурс(не память), который нужно освободить с помощью своей функции. Мне нужна функциональность std::shared_ptr -- он умеет считать количество копий самого себя + ему в конструктор можно засунуть свою функцию по освобождению. Он заточен под память в куче. Можно представить мой ресурс, как простой id (unsigned int). После завершения работы с этим id мне его нужно освободить. Совсем не хочется велосипедить и перевыделять этот id в куче (чтобы пихнуть в shared) или писать свой умный указатель -- мне кажется есть стандартные способы реализовать это. Как лучше сделать?


Ответы (1 шт):

Автор решения: KoVadim

Создайте небольшой класс, который будет работать с этим Id. Вам точно нужно уметь его освобождать (деструктор) и уметь загружать (конструктор). И скорее всего нужны какие то базовые функции с ним. И этот класс уже помещаете в shared_ptr. Также можно будет использовать и unique_ptr.

→ Ссылка