Каким образом исключения C ++ замедляют код, когда исключений нет?

Я читал, что есть некоторые издержки использования исключений C ++ для обработки исключений, а не, скажем, проверки возвращаемых значений. Я говорю только о накладных расходах, которые возникают, когда не выбрасывается исключение. Я также предполагаю, что вам нужно будет реализовать код, который на самом деле проверяет возвращаемое значение и выполняет соответствующие действия, что бы ни было эквивалентно тому, что сделал бы блок catch. Кроме того, было бы несправедливо сравнивать код, который выбрасывает объекты исключений с 45 переменными состояния, с кодом, который возвращает отрицательное целое число для каждой ошибки.

Я не пытаюсь построить случай для или против исключений C ++ исключительно на основе того, что можно выполнить быстрее. Я слышал, кто-то недавно утверждал, что код, использующий исключения, должен запускаться так же быстро, как и код, основанный на кодах возврата, как только вы учтете весь дополнительный код учета, который понадобится для проверки возвращаемых значений и обработки ошибок. Чего мне не хватает?

Ответы на вопрос(6)

Ваш ответ на вопрос