LINUX.ORG.RU

История изменений

Исправление X512, (текущая версия) :

Проблема в том, что для корректного оформления высвобождения ресурсов в таком стиле нужно на каждый чих и пук оформлять отдельный класс, который опишет отмену эффекта одной строки кода другой строкой кода.

Не так уж и страшно. И можно сделать универсальный класс, который будет вызывать лямбды в деструкторе, если так хочется экономить строчки кода.

Проще ли это, чем писать и отлаживать обработку исключений явно? Не знаю.

Конечно проще, потому что это гарантирует exception-safety в любом месте в отличии от ручного освобождения ресурсов. Восход солнца вручную всегда сопровождается проблемами.

Исправление X512, :

Проблема в том, что для корректного оформления высвобождения ресурсов в таком стиле нужно на каждый чих и пук оформлять отдельный класс, который опишет отмену эффекта одной строки кода другой строкой кода.

Не так уж и страшно. И можно сделать универсальный класс, который будет вызывать лямбды в деструкторе, если так хочется экономить строчки кода.

Проще ли это, чем писать и отлаживать обработку исключений явно? Не знаю.

Конечно проще, потому что это гарантирует exception-safety в любом месте в отличии от ручного освобождения ресурсов.

Исправление X512, :

Проблема в том, что для корректного оформления высвобождения ресурсов в таком стиле нужно на каждый чих и пук оформлять отдельный класс, который опишет отмену эффекта одной строки кода другой строкой кода.

Не так уж и страшно. И можно сделать универсальный класс, который будет вызывать лямбды в деструкторе, если так хочется экономить строчки кода.

Исходная версия X512, :

Проблема в том, что для корректного оформления высвобождения ресурсов в таком стиле нужно на каждый чих и пук оформлять отдельный класс, который опишет отмену эффекта одной строки кода другой строкой кода.

Не так уж и страшно. И можно сделать универсальный класс, который будет вызывать лямбды в деструкторе, если так хочется экономит строчки кода.