Какой класс-оболочку в C ++ я должен использовать для автоматического управления ресурсами?

Я любитель C ++. Я пишу некоторый код Win32 API, и есть множество дескрипторов и странно составных объектов. Поэтому мне было интересно - есть ли какой-нибудь класс-оболочка, который бы облегчил управление ресурсами?

Например, когда я хочу загрузить некоторые данные, я открываю файл сCreateFile() и получитьHANDLE, Когда я закончу с этим, я должен позвонитьCloseHandle() в теме. Но для любой достаточно сложной функции загрузки будут десятки возможных точек выхода, не говоря уже об исключениях.

Так что было бы здорово, если бы я мог обернуть ручку в какой-то класс-обертку, который будет автоматически вызыватьCloseHandle() после того, как исполнение покинуло поле Еще лучше - он мог бы выполнять подсчет ссылок, чтобы я мог передавать его в другие функции и выходить из него, и он освободил бы ресурс только тогда, когда последняя ссылка вышла из области видимости.

Концепция проста - но есть ли что-то подобное в стандартной библиотеке? Кстати, я использую Visual Studio 2008 и не хочу подключать сторонние фреймворки, такие как Boost или что-то в этом роде.

Ответы на вопрос(7)

Ваш ответ на вопрос