parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

kb: подробности работы switch/case

Misha v.3 08.07.2008 09:38 / 08.07.2008 11:12

- один раз вычисляется значение 1 параметра switch
- для каждого case вычисляется значение 1 параметра и сравнивается с DEFAULT и вычисленным значением в switch. если значения совпадают и совпадения уже были раньше -- ошибка. если совпадают и не было совпадений раньше -- запоминается факт совпадения и ссылка на код case-а.
- если после завершения обработки всех case было найдено совпадение -- выполняем код, указатель на который мы получили. если не было, но был получен указатель на код DEFAULT -- выполняем его.

как то так в общих словах (есть ещё ньюансы). на C++ по моему выглядит короче и понятнее %-)