Здравствуйте, Sergeem, Вы писали:
S>Там еще есть вопросы собеседования. S>Вот например: S>Для чего в C++ используется ключевое слово finaly ?
S>
Если мне не изменяет память, то ето используется в исключениях(Exceptions) и служит оно для того чтобы выполнить код независимо от типа исключения, то есть сначала выполняется код для исключения по типу, а затем выполняется код в секции finaly...
Здравствуйте, <Аноним>, Вы писали:
А>Если мне не изменяет память, то ето используется в исключениях(Exceptions) и служит оно для того чтобы выполнить код независимо от типа исключения, то есть сначала выполняется код для исключения по типу, а затем выполняется код в секции finaly...
Это изобретение MS — для поддержки механизма Structured Exception Handling — некоей альтернативы юниксовым сигналам.
Здравствуйте, Кодт, Вы писали:
К>Здравствуйте, <Аноним>, Вы писали:
А>Если мне не изменяет память, то ето используется в исключениях(Exceptions) и служит оно для того чтобы выполнить код независимо от типа исключения, то есть сначала выполняется код для исключения по типу, а затем выполняется код в секции finaly...
К>Это изобретение MS — для поддержки механизма Structured Exception Handling — некоей альтернативы юниксовым сигналам.
Здравствуйте, Bell, Вы писали:
К>>Это изобретение MS — для поддержки механизма Structured Exception Handling — некоей альтернативы юниксовым сигналам.
B>В билдере тоже вроде есть.
А билдер под какой операционной системой
Хотя оригинальный механизм SEH — __try | __except | __finally — довольно-таки ублюдочный, это все же чуть лучше, чем сигналы + longjmp.
На самом деле, концепция try-finally оказалась настолько удачной, что вошла во многие языки — и в паскаль (начиная с дельфи или даже с BP7 — не помню), и в явку.
Эта концепция присутствует в скрытом виде и в чистом С++: выполнение деструкторов при выходе из блока (в том числе по исключению).
АТ>Есть, есть... К сожалению, правильные ответы после теста не даются (и ошибки не указываются). Конкретные баллы тоже не выводятся, поэтому протестировать самого автора теста не получается
Есть то есть. Только вот этот тест даже не показал сколько точно — может 86, может 90.
Of course, the code must be complete enough to compile and link.