Re[6]: семантика switch/case
От: _hum_ Беларусь  
Дата: 16.12.15 15:11
Оценка:
Здравствуйте, ononim, Вы писали:


O>фор в отличие от вайла допускает отсутствие любой своей части, вплоть до

O>
for (;;)

что, согласитесь, нельзя отнести к "совсем-совсем другой семантике" (по сравнению с while).

O>что кстати многие, включая меня, считают более адекватным выражением бесконечного цифра нежели while(1)


а по мне, так while(true) более естественно выглядит, чем пустое условие в for (;)



O>>>Я кстати пред сообщение подкрепил примером.

__>>ну, как бы да, для меня это пример из области программирования на "высокоуровневом ассемблере".
O>Просто чтото о чем вы не знали и внезапно узнали. Впрочем двоеточия после case'ов и тот факт что case'ы не приемлют ничего кроме констант как бы намекают на то, что они на метки больше похожи чем на if'ы и вообще сделано оно для облегчения оптимизатору строить оптимизированные таблицы переходов в подходящих дла того местах...

O>Чтонить банальнохитрое типа:

O>
bool get_fileext(char *dst, size_t len, const char *src)
O>{    
O>    for ( len = (src = strrchr(src, '.') ) ? len : 0; (len > 1 && !!(*dst=*src)); --len,++src,++dst);
O>    *dst = 0;
O>    return !*src;
O>}

O>..с применением вайла будет выглядеть, примерно настолько же понятнее как многоэтажный switch-case переделанный на ифы. Но и настолько же длиннее.

это пример кода, который уважаемые люди рекомендуют никогда не писать, если только вы не собираетесь больше никогда его не сопровождать в дальнейшем.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.