В смысле самый ограниченный? Ты можешь указать прямо в обьявлении цикла какие-то действия, начальные условия, условия завершения в любом виде. Наоборот, for (;;) - самый полноценный синтаксис, покрывающий и while и repeat. Я вообще только им и пользуюсь.

Комментарии: 75

  1. Karboflex

    Чем жирнее код тем меньше профита от экономии буков и больше головняка от поиков очепяток

    • Tiny

      переноси ошибки в компайл тайм и будет тебе счастье)

    • Vitaliy

      Жирнее - это как? В плане, оверинжиниринга с юнионами, разбитыми на структуры?

  2. 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

        Это срач за терминологию

  3. Karboflex

    Всёравно выходить из середины цикла 3 глубины вложения через гоуту

Не нашли ответ?

Вам также может быть интересно