Pull to refresh
-3
0
Send message

Товарищ datacompboy прояснил для вас ситуацию, в общих чертах. Дискутировать с ним не буду, достаточно посмотреть исполняемый файл, что бы убедится в том, что switch и if принципиально разные конструкции. Простейший пример это массив меток, результат ключевого выражения это индекс в массиве. Далее выбор метки по индексу и переход. Именно для этого и существует конструкция switch, что бы не перебирать (например) сто ключей. В тривиальных случаях (мало веток case) компилятор считает, что последовательного сравнения хватит и накладные расходы, в виде объёма кода, не нужны. Никакие оптимизации не помогут сделать быстрее чем переход сразу на нужную ветку (если веток много). Ума не приложу, кто вбивает в голову людям, что switch и if это одно и тоже. Вы сами об этом пишете в своём комментарии. А тонкости, что мол сравнения нет... Ну к чему это? Поспорить? Повторюсь , статья хорошая. А тема switch для меня как красная тряпка. Интересуют тонкости компиляции (ну про разряженные таблицы и их огромный размер т.д.), есть интернет, читайте.

"В скобках после switch пишется выражение, которое даёт целочисленный
результат. Этот результат поочерёдно сравнивается со значениями,
прописанными после каждого блока case." Возможно для микроконтроллера это так (я не знаю, нужно проверять). А в общем случае это не так. Конструкция switch предназначена для перехода, за одно сравнение, на соответствующий вариант case. Если вариантов мало (например меньше 4-х), то очевидно последовательное сравнение с каждой меткой case не будет сильно дольше и компилятор не генерирует код перехода за одно сравнение. Вообще статья хорошая, интересная.

Хорошо написана статья, качественно.

Мне очень понравилось название статьи. Очень!

Хорошая, полезная и интересная статья. Проведена большая работа. Спасибо.

Мне вот тоже статья не понравилась. Даже не знаю с чего начать. Попробую максимально конструктивно. Свой кейс с подами мне в стек не клади! Дружище, ты сам так писать выучился или есть специальные курсы, как так писать, что бы не понятно было? Или может ты лично для себя писал? Ну правда, без обид, перечитай сам. Одиннадцать лет в АйТи, разве не слышал фразу: "Кто ясно мыслит, тот ясно излагает."

Прочёл только начало, так что если что то не то скажу, извините. Теперь по делу. "Вы" так скоро черепа циркулем при приёме на работу мерить будете. А если я закрытый и не общительный, так меня что на работу не брать? Что за людоедский подход!? Выполняет человек возложенные на него обязанности, пусть работает. Не выполняет, уволить. При чём здесь то, кем он себя видит через пять лет? "Умение играть на баяне будет преимуществом!"

Четверо держали, трое одевали. Там одно ограничение даты, там другое. Дальше хуже будет

Исправляют, исправляют, так в конце-концов Паскаль получится. :-) Пятнадцать лет назад, если вдруг (такое возможно?) у меня зависал Линукс, переходил в консоль, снимал задачу и всё ОК. Такое бывало может раз в год. Сейчас Линукс виснет ежемесячно, причём намертво, невозможно ни чего сделать, только перезагрузка. Так что молодцы, знатно улучшают!

Поддерживаю насчёт перевода терминов. Кто ясно мыслит, тот ясно излагает. А как поёт Шнуров "Если в башне п...нь, хоть ......".

Меня всегда удивляло непонимание многими инструкции switch. Это не синтаксический сахар, и эквивалентность с if-м существует только при малом (вроде бы до 4-х gcc) количестве вариантов. Как только их больше, проявляется истинная сущность этой конструкции - переход к требуемой ветке за одно сравнение. Если же у вас 10-ть if-в то переход займёт девять операций сравнения в худшем случае. Ну что, эквивалентно перейти за одно сравнение или за девять? Принципиально разный подход!

Меня всегда удивляло непонимание многими инструкции switch. Это не синтаксический сахар, и эквивалентность с if-м существует только при малом (вроде бы до 4-х) количестве вариантов. Как только их больше, проявляется истинная сущность этой конструкции - переход к требуемой ветке за одно сравнение. Если же у вас 10-ть if-в то переход займёт девять операций сравнения в худшем случае. Где же здесь сахар? Принципиально разный подход!

В целом с посылом статьи я согласен, но софт не портится сам по себе. У любой причины есть имя и фамилия. Это неадекватный инструментарий разработки, во первых, а во вторых почему например ядро содержит миллионы строк, правильно, потому что кто то допустил такое разрастание.

В одном уголовном деле прошлого века, подследственный говорил: - Мои намерения. А следователь исправлял в протоколе допроса: - Мои преступные намерения. Если автор претендует на объективность (читай порядочность), то ему не следует брать на себя роль судьи и употреблять фразы типа "компания-паразит"!

Поддерживаю. Всё что может быть понято неправильно именно так и будет понято. И это сейчас везде.

Сразу два минуса в карму за комментарий! Раз у кого то так подгорело, значит правда! Правда то она глаза колет.

Поддерживаю. За рекламу в телефоне надо "руки отрывать". Только привык к чему то, разобрался - взяли всё перемешали. "Мы тут новый интерфейс сделали, модный продвинутый." Зачем вы это трогали? О чём раньше думали? И это сплошь и рядом. На работе был svn-сервер, а давайте перейдём на git, что мы как лохи, у всех git, а у нас какой то старый отстойный svn. Что мы не модные такие... И т.д и т.п. P.S: Надеюсь всем понятно, что я ничего не имею против git.

По поводу ventoy, пробовал запустить установку Windows (2000 или XP не помню). Программа установки запустилась, но на каком то этапе (вероятно) полезла за данными (куда?) - правильно, на устройство CDROM, которого у меня не было. На этом установка завершилась. (Существует вероятность что я делал что то не так.). А по поводу dd (тут выше писали). Сам раньше пользовался. Но потом это отчасти перестало работать, не со всеми образами такой способ прокатывает. (Пробовал с образами Линукс).

Я это серьёзно, и об этом надо думать сразу, а не потом. Прекрасно понимаю вашу логику, сейчас так весь мир живет. Зачем шить новые штаны по размеру? Портного напрягать, швею! Вот есть штанишки на два размера меньше. Ну ни чего, сейчас по шву распорем, приложим, скотчем приклеим и готово. Делов та на копейку! Вот только лично мне такие брюки не по душе. О чём и написал.

Information

Rating
Does not participate
Registered
Activity