В смысле самый ограниченный? Ты можешь указать прямо в обьявлении цикла какие-то действия, начальные условия, условия завершения в любом виде. Наоборот, for (;;) - самый полноценный синтаксис, покрывающий и while и repeat. Я вообще только им и пользуюсь.
Комментарии: 75
Karboflex
Чем жирнее код тем меньше профита от экономии буков и больше головняка от поиков очепяток
Tiny
переноси ошибки в компайл тайм и будет тебе счастье)
Vitaliy
Жирнее - это как? В плане, оверинжиниринга с юнионами, разбитыми на структуры?
Vga
Потому что фор в си - не фор вовсе
Tiny
may the templates be with you
Sexst
Никто не фор кроме фор
Vga
"цикл со счетчиком" никогда не задумывался как универсальный. он задумывался как частный случай в си сделали шаблон генерик-цикла и обозвали его for
Sexst
А получился универсальный. И збсь что компиляторы стали умнее, программистам ещё об оптимальности разных видов циклов думать не хватало.
Vga
вот программисты нынче и не думают, ага
Sexst
Всё правильно сделали И не нужно. И отлично
Karboflex
О чем спор самый лучший цикл через гоуту делается
Anonim
decfsz myCt,f goto myLabel
Artem
Зарегистрирован: 01 фев 2010, 00:30 Сообщения: 264 Откуда: Беларусь Витебск Заклеить можно аквариумным силиконом, он нетоксичен. Вообще рыбы очень чувствительные существа, небольшое количество гадости их убивает, а человек даже не почувствует. Чот хз, выдержит ли аквариумный силикон 100 градусов
Freeman
"Вы продаёте рыбов? "
Vga
рад, что у тебя есть компьютеер, позволяющий этого не замечать
Vga
ну можно конечно называть теплое мягким, но я не считаю это правильным
Vitaliy
В рамках программирования микроконтроллеров - да, надо
Sexst
Ноуп, пусть компилятор думает Не rocket science благо
Vitaliy
А как же раскрутка компилятора?
Vga
*косится на кодовую базу шланга* да, рокет саенсу до этого далекоооо
Sexst
Конкретно цикл оптимально в машинный код загнать в зависимости от наличия/отсутствия счётчика, условия итд - не rocket science
Vga
не думаю что первый компилятор си это умел
Sexst
Возможно. Но сейчас умеет.
Vga
а для нормального фора в процессоре даже отдельная инструкция есть
Karboflex
Как же у меня бомбило когда в павершеле гоуту выкинули
Sexst
А значит решение в итоге оказалось правильным
Karboflex
Я вот непомню нафига оно мне надо было но мне всем тостером доказывали что это защита от гавнокодеров
Vga
павершелл - защита от кодеров в целом
Karboflex
А на вопрос как выйти из середины вложенного цикла вся дискуссия затухла
Vga
хардфолт триггернуть, какие проблемы?
Vga
ну если не считать что оптимизацию фор в плане количества писанины они тоже проебали но это несколько компенсируется общесишной привычкой писать все в три загогулины отдельных лулзов доставляет любовь сишников записать тело цикла прямо в шаблоне
Vga
в былые время был популярен срач о том, что K&R проебали самый смысл цикла for - его оптимальность. но с тех пор клмпиляторы стали умнее
Tiny
а в плюсах еще добавили range based loop) через ключевое слово for сделали. как это сделать синтаксически красиво через while непонятно
Ponytale
чет совсем не в курсе этого. расскажи?
Vga
ну это уж зависит от ну типа паскаль сразу грузит счетчик в ECX и дальше юзает инструкцию loop, а си каждый цикл старательно декрементирует счетчик и проверяет его
Anonim
Ну раньше же писали код например для определения поддержки SSE вызывали инструкцию. А если оно падало - значит не SSE, то блядь вот код на пол экрана Это потом ссе завезли в амд
Vga
(отдельные лулзы - рекомендации как правильно писать фор на сях, чтобы не сломать оптимизатор. типа ++i вместо i++) но зоопарк от того меньше не стал. ффмпег судя по выхлопу детектит десяток разных наборов инструкций и выбирает путь по ним В тм числе и "так, ссе тут есть, но тормозное, нахуй его"
Sexst
ffmpeg - редкое исключение. Очень специфичный, очень распростаненный, очень требовательныый к микрооптимизациям
Ponytale
а что?
Vga
Это срач за терминологию
Karboflex
Всёравно выходить из середины цикла 3 глубины вложения через гоуту