1 | |
Теория switch25.08.2016, 23:11. Показов 590. Ответов 2
Метки нет (Все метки)
Доброго! Еще в универе мне объясняли, что если в коде куча однотипных условий, то самое луче использовать switch, то есть он делает всего интерпретацию, что очень хорошо.
А тут блуждая по статьям про Си на харбаре, уже у двоих встречаю что не важно делать куча if else или один switch, компилятор все равно переберет все ключи, и от switch только эстетический прок в удобстве написания кода. Кому верить то?
0
|
25.08.2016, 23:11 | |
Ответы с готовыми решениями:
2
Switch . Как присвоить переменной значение из Switch в default Как сделать чтобы Switch работал в другом Switch'e? Рефакторинг switch внутри switch в static классе Подключить switch к другому switch |
26.08.2016, 00:12 | 2 |
Не по теме: Нашли, что читать :-) switch возможен только для целочисленных сравнений и, обычно, исключительно эффективен - компилируется в таблицу переходов (выбор по индексу). if-else менее эффективен, но более универсален. typical switch (Delphi 7.0)
Код
CODE:022C088F mov eax, esi CODE:022C0891 and eax, 0FFh CODE:022C0896 cmp eax, 11h ; switch 18 cases CODE:022C0899 ja Default_22C0C4A ; jumptable 004708A5 default case ; TRUE CODE:022C089F mov al, byte ptr Table_022C08AC[eax] CODE:022C08A5 jmp off_22C08BE[eax*4] ; switch jump CODE:022C08A5 ; --------------------------------------------------------------------------- CODE:022C08AC Table_022C08AC: ; DATA XREF: Switcher_18_022C087C+23r CODE:022C08AC db 1, 2, 0, 0 ; indirect table for switch statement CODE:022C08AC db 3, 0, 0, 4 CODE:022C08AC db 0, 5, 0, 6 CODE:022C08AC db 0, 7, 0, 0 CODE:022C08AC db 0, 8 CODE:022C08BE off_22C08BE dd offset Default_22C0C4A CODE:022C08BE ; DATA XREF: Switcher_18_022C087C+29r CODE:022C08BE dd offset Case_0_22C08E2 ; jump table for switch statement CODE:022C08BE dd offset Case_1_22C0927 CODE:022C08BE dd offset Case_4_22C09AC CODE:022C08BE dd offset Case_7_22C09FD CODE:022C08BE dd offset Case_9_22C0B66 CODE:022C08BE dd offset Case_11_22C0BA4 CODE:022C08BE dd offset Case_13_22C0BF4 CODE:022C08BE dd offset Case_17_22C0C40 CODE:022C08E2 ; ---------------------------------------------------------------------------
3
|
26.08.2016, 00:33 [ТС] | 3 |
0
|
26.08.2016, 00:33 | |
26.08.2016, 00:33 | |
Помогаю со студенческими работами здесь
3
Power Switch и Reset Switch Теория принятия решений Теория игр Изменить cell.accessorytype тип на тип Switch (с кнопкой Switch) Поместить switch в switch Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |