Re[22]: Они сделали дерьмо опять
От: so5team https://stiffstream.com
Дата: 20.05.20 13:41
Оценка: +1
Здравствуйте, lpd, Вы писали:

lpd>Модифицировать функцию, не читая ее код, и не понимая что она делает — это действительно высший пилотаж, мне такое не под силу.


Между тем такое происходит сплошь и рядом: есть функция, которая перед выполнением некого главного действия X выполняет серию проверок и подготовительных действий P1, P2, ..., Pn. Спустя какое-то время выясняется, что между Pi и P(i+1) нужно вставить еще и P(i'). Которое может завершится неудачно и в случае ошибки нужно сделать преждевременный возврат.

Когда пишется нормальный код, то можно просто сделать return.

Когда все, что есть в вашем распоряжении -- это чистая ламповая Сишечка с goto err, то да, пока не проштудируешь простыню на 10 экранов, добавить P(i') не получится.

И, что характерно, штудируют не все, и не всегда тщательно.

lpd>Ну и в конкретно этом примере RAII помог бы слабо, т.к. это не освобождение ресурса, а вызов специальных функций, и в лоб по С++ному ничего тут не сделать.


Это говорит лишь о том, что вы слабо себе представляете, что в современном C++ можно делать с помощью RAII (да и в старом, только там несколько многословнее все).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.