1. C++ / Говнокод #12846

    +16

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    for ( std::size_t i = startIndex; i < indices.size(); ++i )
    {
        std::size_t idx = i % indices.size();
        // Some code that uses idx ...
    }

    Обогреваем помещение.

    Запостил: Cpp, 03 Апреля 2013

    Комментарии (9) RSS

    • Человек очень сильно напуган возможностью выдти за пределы контейнера.
      Ответить
      • Не хватает
        if (idx < startIndex) continue;
        Ответить
        • И if (i >= 0) конечно же не хватает.
          Ответить
          • Можно сделать условную компиляцию этих проверок для сборки обогревателей разной мощности.
            Ответить
            • #ifdef HOT_LIKE_IN_HELL
              Ответить
            • Главное не забыть отключить оптимизацию. Выкинет ведь часть таких проверок.
              Ответить
              • оптимизированный обогреватель превращается в морозильник :)
                Ответить
      • > выдти
        выйти же!
        Ответить
        • для выйти достаточно условия в шапке цикла, для выдти - в теле.
          Ответить

    Добавить комментарий