Здравствуйте, lpd, Вы писали:
CK>>то что мы можем писать свой код в деструкторе, это тоже так совпало и хак чистой воды? если следовать твоей логике, то писать деинициализацию в деструкторе — хак чистой воды, поэтому класс MyFile должен иметь метод destroy, который нужно явно вызывать перед тем как объект будет удален, а в деструкторе ничего делать не надо, не так ли?
lpd>Деструктор напрямую связан с объектом по логике. А вот объекты-обертки для освобождения ресурсов или для освобождения памяти — это хак.
Следовательно, все, кто использует RAII — хакеры.
А что-бы вы предпочли взамен RAII? Секцию кода, который выполняется при каждом выходе из функции? А как этот код получит доступ к переменным/состоянию внутренней части кода?