А в Си нихуя, пиши свою функцию типа init и вызывай её вручную после создания экземпляра. И хуй тебе, а не очистка по выходе из скоупа, пиши везде руками, с goto
Как же мне стало балдёжно, когда я понял, как работать с ComPtr, и теперь могу написать, скажем, textures.clear(), и таким образом выпилить от них и сами ресурсы, и ресурсы для заливки, и дескрипторы
appUniquePtr.reset() — и всё, все твои окошки, все загруженные документы, картинки, шрифты, всё такое, всё летит к хренам. Причём по-честному, а не тупо вместе со всей виртуальной памятью твоего процесса