|
|
|
Switch Case
|
|||
|---|---|---|---|
|
#18+
Ребята, помогите пожалуйста! Есть такая задача: int U=2; switch (N) { case 2400-U..2400+U : case 4200-U..4200+U : } как сделать такую конструкцию, чтобы условие выбиралось из множества значений с интервалом 1 {2400-U..2400+U} Заранее благодарен С++Builder 6.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2006, 09:08 |
|
||
|
Switch Case
|
|||
|---|---|---|---|
|
#18+
условия пересекаются: |N-xxxx|<U ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2006, 09:27 |
|
||
|
Switch Case
|
|||
|---|---|---|---|
|
#18+
ДмитрийНиколаевич.... switch (N)....как сделать такую конструкцию, чтобы условие выбиралось из множества значений с интервалом 1 {2400-U..2400+U}.... на свитч - никак... Вы хотя бы для интересу загляните в генерируемый код компилятора такой комбинации (обычный кэйс свитч). И поймёте где и как его применять для оптимизации... свитч действует по следующему алгоритму... 1) приведение входного параметра N к размерности всех указанных комбинаций... 2) Переход по адресу из таблицы, селектором которого служит обработанный(приведённый) N.. Свитч НЕ делает сравнений заметьте... Он переходит по той или иной веточке алгоритма, однозначно определяемой N. Посему, если веточек более двух-трёх то данный подход даст оптимизацию по времени онозначно (по сравнению с аналогичными ифами)... удачи Вам (круглый) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2006, 15:27 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=369&tid=2031850]: |
0ms |
get settings: |
9ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
44ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 375ms |

| 0 / 0 |
