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