Кто-нибудь знает «техническое имя» для оператора switch без перерывов?Техническое название оператора switch без перерывов
Я просмотрел несколько учебников и искал в Интернете довольно долгое время без каких-либо результатов.
Кто-нибудь знает «техническое имя» для оператора switch без перерывов?Техническое название оператора switch без перерывов
Я просмотрел несколько учебников и искал в Интернете довольно долгое время без каких-либо результатов.
Падение через?
Или вы говорите об определенной инструкции switch без перерывов, называемой Duff's Device?
send(to, from, count)
register short *to, *from;
register count;
{
register n=(count+7)/8;
switch(count%8){
case 0: do{ *to = *from++;
case 7: *to = *from++;
case 6: *to = *from++;
case 5: *to = *from++;
case 4: *to = *from++;
case 3: *to = *from++;
case 2: *to = *from++;
case 1: *to = *from++;
}while(--n>0);
}
}
Когда исполнение продолжается от одного случая к другому, оно называется «провалом».
switch (i) {
case 1:
// do something
case 2:
// do something else
break;
case 3:
// do another thing
}
Execution будет «проваливаться» от случая к случаю 1, но не от случая к случаю 2 3. Является ли это то, что вы спрашиваете?
Оператор switch без перерывов (и без петли, так что это не устройство Даффа), я бы просто позвонил в таблицу jump table.
Ни один из инструментов, обычно используемых для структурированного программирования, это точно.
Спасибо за помощь, таблица прыжка/ветви - это тот термин, который я искал. – fmunshi