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

    +19

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    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, 12 Ноября 2012

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

    • Ну конечно. Цикл for (i) - это быдлокод, а профи используют итераторы.
      Ответить
      • А как простись по хэш-таблице циклом for(i)?
        Ответить
        • for(auto it : windowStates)
          {
          Ответить
          • Ок, ты победил. Жаль, что с++11.
            Ответить
          • За что Гумно минуснули? На этот раз он все правильно сказал.
            #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; ...), а то итераторы действительно надоели ;)
        Ответить
        • std::advance тебе в руки
          Ответить
          • template <class InputIterator, class Distance>
            void advance (InputIterator& i, Distance n);
            Ответить
            • http://ideone.com/P3koC5
              Ответить
              • http://ideone.com/m24zIo
                Ответить
                • У меня ни один браузер не открывает ваши зеленые ссылки!
                  Ответить
                  • так есть же GreenBrowser
                    Ответить
                  • Midori открывает.

                    http://en.wikipedia.org/wiki/Midori_(web_browser)
                    Ответить
                    • Новый компьютерный словарь

                      помидорить (гл.) - немного попользоваться браузером Midori
                      см. также погонять хромого
                      Ответить
                      • Потягать богатыря.
                        Ответить
                        • посетить оперу
                          пожарить лису
                          пооткрывать интернеты
                          Ответить
                        • Потягать ишака.
                          fixed
                          Ответить
                        • Кстати есть притча где один дервиш-индус, который делал ИЕ поспорил с веб-дизайнером, что научит ишака стандартам так, что он будет знать их не хуже W3С.
                          Тот конечно сильно удивился и дал индусу что он потребовал - бесконечную манну нямку и 20 лет времени.
                          И если индус не выполнит условия спора, то индусу отрубят его ишака.
                          Ответить
                    • Есть ещё браузер и для чёрных ссылок. Скачать можно отсюда: Blackbird-Latest.exe
                      Ответить
                      • А хром открывает ссылки четырёх основных цветов :p
                        Ответить
                        • Но здесь же не работает тег для [color=yellow]жёлтого[/color] цвета, поэтому нужен браузер, который не умеет открывать жёлтые ссылки умеет открывать только чёрные, красные, зелёные, синие и белые ссылки.
                          Ответить
                  • Скачай последнюю версию либастрала вот тут.
                    Ответить
                    • Можно по-другому:
                      1. Качаем браузер, который открывает красные ссылки: Opera_1210_int_Setup.exe
                      2. Качаем специальную утилиту, которая показывает изображение в негативе вот тут.
                      3. ????
                      4. PROFIT
                      Ответить
                      • И получим голубые ссылки, а не зелёные.
                        Для негатива нужны пурпурные ссылки.
                        Ответить
                    • Зависимости не могу устранить.
                      Ответить
            • Problems?
              http://ideone.com/G04QEX
              Ответить
              • Всё. Разобрался.
                Если кому, в общем, можете качнуть патч для браузера под gkod вот здеся или тут: зеркало.
                Ответить
                • NO REPACKS NO MIRRORS
                  ...забыл
                  Ответить
                  • Вы не модератор чтобы указывать мне красным капсболдом.
                    Ответить
                  • БЕЗПЛАТНА БЕЗ РЕГИСТРАЦИИ И СМС!
                    Ответить
                    • еще blink'а не хватает
                      Ответить
                      • И некролога брата.
                        Ответить
                        • Продам Амфетамин эфедрин и другие прекурсоры. Бесплатно и без регистрации. За подробностями обращайтесь в личку.
                          Ответить
                          • Белый есть?
                            Ответить
                            • Саша?
                              Ответить
                              • А доб?
                                Ответить
                                • Рецепт получения амфетамина

                                  Сульфат 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")
      вопросы вопросы...
      Ответить
    • Это очень интересно :)
      Ответить

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