Подскажите пожалуйста правильный паттерн в данной ситуации. Есть некая АПИ функция возвращающая указатель на структуру содержащую информацию о системном ресурсе (Win32 на самом деле, но не суть), и есть парная ей функция очищающая данную структуру и освобождающая видимо как то системный ресурс. Так вот я налабал обертку облегчающую мне работу с данной структурой в ООП стиле. В конструкторе передаю указатель на структуру, в деструкторе вызываю системную функцию очищения и передаю ей сохраненную в поле данных копию указателя. Причем если я создаю два экземпляра класса оборачивающих одну и ту же структуру(напомню указатель мне возвращает системная функция), естественно у меня два раза вызывается функция очищения и в программе происходит исключение. Внимание вопрос: как сделать правильно?