Кресты / Говнокод #12104 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
  18. 18
  19. 19
  20. 20
  21. 21
  22. 22
  23. 23
  24. 24
  25. 25
  26. 26
  27. 27
  28. 28
//generate the new objects
    EnterCriticalSection(&csWinEvent);
    value arr = alloc_array(windowStates.size());
    int i=0;
    for(
        std::tr1::unordered_map<int,windowState>::const_iterator it = windowStates.begin();
        it!=windowStates.end();
        ++it )
    {
        value o = alloc_empty_object();
        //int hwnd
        //int x,y,w,h
        //int minimized,maximized,restored,closed
        alloc_field(o, val_id("hwnd"), alloc_int(it->first));
        alloc_field(o, val_id("window"), *(value*)GetWindowLongPtr((HWND)it->first,GWLP_USERDATA)  );
        alloc_field(o, val_id("x"), alloc_int(it->second.x));
        alloc_field(o, val_id("y"), alloc_int(it->second.y));
        alloc_field(o, val_id("w"), alloc_int(it->second.w));
        alloc_field(o, val_id("h"), alloc_int(it->second.h));
        alloc_field(o, val_id("minimized"), alloc_int(it->second.minimized));
        alloc_field(o, val_id("maximized"), alloc_int(it->second.maximized));
        alloc_field(o, val_id("restored"), alloc_int(it->second.restored));
        alloc_field(o, val_id("closed"), alloc_int(it->second.closed));
        val_array_set_i(arr,i,o);
        ++i;
    }
    windowStates.clear();
    LeaveCriticalSection(&csWinEvent);

Casts ;]

Запостил: petersvp petersvp, (Updated )

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

  • Ну конечно. Цикл for (i) - это быдлокод, а профи используют итераторы.
    Ответить
        • За что Гумно минуснули? На этот раз он все правильно сказал.
          #include <map>
          #include <iostream>
          
          int main() {
              std::map<int, int> m;
              m[4] = 3;
              m[2] = 2;
              m[1] = 5;
              for (auto x : m)  {
                  std::cout << x.first << " " << x.second << std::endl;
              }
          }
          Ответить
          • Не переживайте. :-[ Это дополнительный бонус к карме. Зато я всегда знаю, если у меня написано 0, то меня кто-то плюсанул.
            Ответить
    • Подскажите нам быдлокодерам, как записать обход мапа через for (int i=0; ...), а то итераторы действительно надоели 😉
      Ответить
        • template <class InputIterator, class Distance>
          void advance (InputIterator& i, Distance n);
          Ответить
            • Всё. Разобрался.
              Если кому, в общем, можете качнуть патч для браузера под gkod вот здеся или тут: зеркало.
              Ответить
                      • Продам Амфетамин эфедрин и другие прекурсоры. Бесплатно и без регистрации. За подробностями обращайтесь в личку.
                        Ответить
                              • Рецепт получения амфетамина

                                Сульфат 1-фенил-2-аминопропана - 900 грамм
                                Метилбензилкетон - 1000 грамм
                                Бисульфита натрия - 180 грамм
                                Едкий натр - 1,2 кг грамм для приготовления 2,7 л - 40% раствора
                                серная кислота - 800 грамм

                                Растворяем в 750 мл спирта метилбензилкетон, далее при перемешивании прибавляем 748 г 92% серной кислоты, а затем раствор добавляем 900 грамм 1-Фенил-2-аминопропана. Тщательно перемешиваем.
                                Прибавляем 170 грамм 32--36% раствора бисульфита натрия, перемешивают при 15--17° 5--6 часов и оставляем на 8--10 часов. Образовавшееся бисульфитное соединение отфильтровываем и тщательно промываем спиртом. К 150--170 грамм отмытого бисульфитного соединения прибавляем к смеси 2,7 л 40% раствора едкого натра и 90 мл воды, нагреваем I час при 55--60°.
                                Доводим в 400 мл спирта до рН 7,5--8,0.
                                Образовавшийся осадок отфильтровывают и тщательно промываем спиртом (3,5 л).
                                Получаем на выходе - 246 грамм (95%) амфетамина.
                                Ответить
                                • Запрос на бан говнокодика в роскомнадзор уже отправили?
                                  Ответить
      • >то итераторы действительно надоели 😉
        Надоели скучные итераторы? Неинтересно писать императивный for?
        Ответить
  • Ни в коем случае, цикл использует итератор для навигации по хэш-таблице.Переменная я это номер, который используется для установки элемента массива. Функция val_array_set_i ожидаемого числа.
    Ответить
  • мне кажется, говнокод не о содержимом шапки for
    тут какая то подозрительная архитектура в val_id("something")
    вопросы вопросы...
    Ответить

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

Из-за тебя ушел bormand, guest!

    А не использовать ли нам bbcode?


    8