0 / 0 / 0
Регистрация: 16.05.2012
Сообщений: 36
|
||||||
1 | ||||||
Возврат к началу switch02.05.2014, 22:42. Показов 13029. Ответов 22
Метки нет (Все метки)
Здравствуйте.
Есть программа, включающая в себя
Например, есть меню из 5 пунктов. Как сделать так, чтобы при вводе числа 6 программа не закрывалась, а снова выводила это меню.
0
|
02.05.2014, 22:42 | |
Ответы с готовыми решениями:
22
Возврат к началу цикла Возврат к началу при открытии новых ссылок Возврат обратно в меню, в операторе switch Возврат в начало функции из блока Switch |
571 / 539 / 280
Регистрация: 25.12.2013
Сообщений: 1,456
|
|
02.05.2014, 22:44 | 2 |
JAson13, чем цикл не устраивает?
0
|
0 / 0 / 0
Регистрация: 16.05.2012
Сообщений: 36
|
|
02.05.2014, 22:54 [ТС] | 3 |
Ты имеешь ввиду for вначале добавить?
Или while?
0
|
571 / 539 / 280
Регистрация: 25.12.2013
Сообщений: 1,456
|
|
02.05.2014, 22:55 | 4 |
1
|
0 / 0 / 0
Регистрация: 16.05.2012
Сообщений: 36
|
|
02.05.2014, 23:00 [ТС] | 5 |
Хорошо, спасибо, попробую
0
|
100 / 100 / 47
Регистрация: 19.11.2012
Сообщений: 195
|
||||||
02.05.2014, 23:04 | 6 | |||||
2
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
||||||
03.05.2014, 00:31 | 7 | |||||
это и называет "цикл".
TrueBit, я бы выделил проверку в отдельную функцию:
0
|
03.05.2014, 00:37 | 8 | |||||
0
|
18840 / 9839 / 2408
Регистрация: 30.01.2014
Сообщений: 17,280
|
|
03.05.2014, 01:06 | 13 |
Чего спорить-то, возьмите асмо-код и гляньте чего там быстрее.
Я не глядя предположу, что будет почти одинаково. Или даже полностью одинаково.
0
|
18840 / 9839 / 2408
Регистрация: 30.01.2014
Сообщений: 17,280
|
|||||||||||
03.05.2014, 01:18 | 15 | ||||||||||
Можно я скажу?
Я щас проверил (mingw 4.7.2), код полностью эквивалентный:
1
|
03.05.2014, 01:29 | 16 |
Компиляторы умны не спорю но и так как программа тривиальна он все просчитал но можно в теле написать так что код будет ужасен и в разы больше не говоря уже о Кеш мисах
Добавлено через 3 минуты Попробуй в тело switch добавить пару функций да так что бы значения результатов было трудно прогназируемо
0
|
18840 / 9839 / 2408
Регистрация: 30.01.2014
Сообщений: 17,280
|
|
03.05.2014, 01:34 | 17 |
stawerfar, эквивалентность этого кода строится на том, что была возможность встроить функцию accept. Если мы сохраним эту возможность, то код будет в любом случае одинаков.
Да и раз уж мы заговорили о кеш мисах, то какие-то реальные действия принято предпринимать после профилирования, а не до.
0
|
03.05.2014, 01:57 | 18 |
Просто вставите во все ветки воз вращаемое значение скомпильте и посмотрите что получиться
Добавлено через 11 минут Или вы действительно не видите что компилятора заинлайнил функцию? Если нельзя будет просчитать то появиться команда jump и все вытекающие
0
|
18840 / 9839 / 2408
Регистрация: 30.01.2014
Сообщений: 17,280
|
|
03.05.2014, 02:31 | 19 |
Я вообще-то об этом выше и написал:
Теперь еще раз. Я говорю о том, что при сохранении возможности "заинлайнить" accept, совершенно неважно что внутри него вызывается. Код будет эквивалентен варианту без accept. В этом есть сомнения?
0
|
03.05.2014, 22:42 | 20 |
Да есть сомнения. Так как заинлайнить или нет решит сам компилятора если будут соблюдены все для этого условия. (Даже несмотря на команду inline ) следовательно вышесказанное не будет работать. Если вам так лениво проверить я завтра вернусь с дачи и набросаю код для примера. Думаю это будет более чем убедительно.
Добавлено через 4 минуты На всякий случай если вдруг не знали почитайте в стандарте языка значение оператора inline где вы прочтете что данная команда носит лишь рекомендательный характер в отличие от define. Эти топкости нужно знать. Или просто почаще смотреть понял ли вас компилятор при генерации кода асм
0
|
03.05.2014, 22:42 | |
03.05.2014, 22:42 | |
Помогаю со студенческими работами здесь
20
Как сделать чтобы Switch работал в другом Switch'e? Switch . Как присвоить переменной значение из Switch в default Рефакторинг switch внутри switch в static классе Power Switch и Reset Switch Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |