LINUX.ORG.RU

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

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

еще… в каких-то там языках(счас не помню) блоки кода вообще имеют финализаторы, то есть есть секция типа finally, и по выходу из блока, ВСЕГДА выполняется этот финализирующий код.

типа

{
...
 if(some_bool) break; ///тут будет переход на finally секцию
...

finally
  ///этот код всегда будет исполнен при выходе из блока
  ...
}

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

очевидно, что в си/с++ это эмулируется через goto.

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

еще… в каких-то там языках(счас не помню) блоки кода вообще имеют финализаторы, то есть есть секция типа finally, и по выходу их блока, ВСЕГДА выполняется этот финализирующий код.

типа

{
...
 if(some_bool) break; ///тут будет переход на finally секцию
...

finally
  ///этот код всегда будет исполнен при выходе из блока
  ...
}

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

очевидно, что в си/с++ это эмулируется через goto.