1. Список говнокодов пользователя Little-Horny

    Всего: 5

  2. C++ / Говнокод #18376

    +145

    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
    29. 29
    30. 30
    31. 31
    #define pb push_back
    #define ll long long#define forit(it, r) for (auto it = r.begin(); it != r.end(); it++)
    #define forn(i, n) for (int i = 0; i < n; ++i)
    #define forn1(i, n) for (int i = 1; i < n; ++i)
    #define FOR(i, m, n) for (int i = m; i < n; ++i)
    #define ROF(i, m, n) for (int i = m; i >= n; --i)
    #define fori(n) for (int i = 0; i < n; ++i)
    #define forj(n) for (int j = 0; j < n; ++j)
    
    
    // ...
    
        string s;
        int k;
        while (i >= base)
            k = i % base,
            s.pb(k > 9 ? k + 'A' - 10 : k + 48),
            i /= base;
        k = i % base;
        s.pb(k > 9 ? k + 'A' - 10 : k + 48);
    
    // ...
    
        fori(s.size())
            if (i < s.size() - 1 && s[i] == '\\' && (s[i + 1] == 'n' || s[i + 1] == -47))
            {
                ret.append("%0A");
                i += 1 + (s[i + 1] == -47);//-47 -- russian t, because has the same place with n (\n == \t_russian)
            }
            else
                ret.append("%" + itoa((s[i] + 256) % 256, 16));

    Олимпиадники... Олимпиадники повсюду...

    Little-Horny, 21 Июня 2015

    Комментарии (6)
  3. C++ / Говнокод #16244

    +9

    1. 1
    2. 2
    // инверсия цвета
    n ~= n;

    Было в шаблоне, довольно долго. Сегодня впервые метод был использован... Минут пять втыкал, почему не хочет компилировать.
    Всё-равно пришлось заменить на n = 0xFFFFFF ^ n, потому что старший байт нужно было неизменным оставлять.

    Little-Horny, 27 Июня 2014

    Комментарии (10)
  4. C++ / Говнокод #13983

    +11

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    // This is an example of an exported function.
    SCCONNECT_API int fnSCConnect(void)
    {
    	return 42;
    }

    Не говно, но не мог промолчать!
    Вот такой шаблон функции генерирует MSVC при создании DLL.

    MSVC даёт ответ на самый главный вопрос жизни, вселенной и всего такого!

    Little-Horny, 21 Октября 2013

    Комментарии (264)
  5. C++ / Говнокод #13664

    +23

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    void main()
    {
    	// Откуда в программе баги берутся???
    	struct ╯°□°{}╯︵┻━┻;
    	// Понятия не имею.
    	// Код классный, имена переменных говорят сами за себя...
    	// Строк комментариев больше, чем строк кода...
    	// А баги всё-равно есть.
    	// КАК ЖЕ МЕНЯ ВСЁ ЭТО БЕСИТ!
    	(╯°□°)╯︵┻━┻;
    }

    В ответ цитате с баша:

    scala самый крутой язык, в нём можно столами кидаться
    def ┻━━┻ = {
    new Exception("ACHTUNG!")
    }
    throw ┻━━┻

    На С/С++ тоже можно столами кидаться и более красиво! Достаточно сохранение файла в unicode включить.

    Little-Horny, 25 Августа 2013

    Комментарии (9)
  6. C++ / Говнокод #13224

    +34

    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
    class A
    {
    public:
        unsigned int m_value;
    
        inline bool operator != ( const A & value )
        {
            unsigned int temp;
            temp = 0 != ( m_value != value.m_value );
            return 0 == temp;
        }
    
        inline bool operator == ( const A & value )
        {
            unsigned int temp;
            temp = 0 != ( m_value == value.m_value );
            return 0 != temp;
        }
    };

    Фрагмент кода одной коммерческой библиотеки. Имя класса изменено, 100500 прочих методов вырезано, но они похожи на эти.
    Я не буду акцентировать внимание на том, что операторы невозможно использовать для константных объектов, даже не буду говорить о странном способе сравнения целых чисел... Но я упомяну о том, что 'operator !=' работает немножко не так, как руссо-индусы ожидали.

    Little-Horny, 24 Июня 2013

    Комментарии (28)