Показать сообщение отдельно
Старый 09.06.2004, 14:26   #3  
Андре is offline
Андре
Moderator
Сотрудники компании GMCS
 
2,375 / 464 (20) +++++++
Регистрация: 03.12.2001
Цитата:
Смысла в выполнении явно нет (а в некоторых моментах есть!).
Насколько я понимаю, все таки нет

Идея в том, нужно разделять функции, которые выполняют какую-то работу activity и функции предназначенные для проверки каких-то условий condition.
Это не закон, но рекомендация, следование которой позволит избежать многих ошибок.
Например, код в somef2() не был выполнен, так как так решил оптимизатор.
Например, кто-то решил дважды дернуть somef2(), чтобы выполнить какую-то проверку и при этом неосознанно выполнил код вложенный в somef2().

Насколько я помню даже в стандарте C++ не описано поведение компилятора в данном случае и каждый производитель может делать своб реализацию данного поведения. Это приведет к тому, что ваш код будет работать по разному, будучи откомпилированным разными компиляторами. Или даже откомпилированным в разных режимах - debug и release mode.