Что идиома программирования RAII думает о динамическом выделении памяти? С++

Читал про ООП и наткнулся на идиому RAII, в основе которой лежит обязательная инициализация и освобождение памяти. Также там сказано, что идиома RAII запрещает динамически выделять память для объектов наших классов. Но что делать с тяжелыми классами, которые забивают стек и требуют выделения в куче? Что программисты делают в таком случае? Просто закрывают глаза и выделяют память динамически или все же следуют RAII и используют стек?


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

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

в основе которой лежит обязательная инициализация и освобождение памяти - ну, это слишком сильно сказано... Например, это может быть открытие и закрытие файла. Это все же RAII, а не MAII - Resource, не Memory :)

Ну, а насчет больших классов... Обычно класс с идиомой RAII не такой уж большой - ведь он все может хранить в выделяемой памяти.

Но если даже так - то для этого предусмотрены интеллектуальные указатели, которые просто позволяют применить RAII рекурсивно :)

→ Ссылка