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

    +8

    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
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    #include <iostream>
    using namespace std;
     
    class Boolean {
    public:
        Boolean() : m_flag(false), m_val(0) {}
        Boolean(bool flag) : m_flag(flag), m_val(0) {}
        Boolean(bool flag, int val) : m_flag(flag), m_val(val) {}
     
        Boolean operator || (int val) {
            return Boolean(m_flag || val == m_val, m_val);
        }
     
        operator bool() { return m_flag; }
     
    private:
        bool m_flag;
        int m_val;
    };
     
    class Integer {
    public:
        Integer() : m_val(0) {}
        Integer(int val) : m_val(val) {}
     
        operator int() { return m_val; }
        Boolean operator == (int val) { return Boolean(val == m_val, m_val); }
        Boolean operator == (const Integer & val) { return Boolean(val.m_val == m_val, m_val); }
     
    private:
        int m_val;
    };
     
    int main() {
        Integer a(10);
     
        cout << bool(a == 15 || 10) << endl;
        cout << bool(a == 15 || 11) << endl;
        cout << bool(a == 15 || 11 || 13 || 11 || 0 || 10 || 5) << endl;
        cout << bool(a == 15 || 11 || 13 || 11 || 0 || 9 || 5) << endl;
     
        return 0;
    }

    https://ideone.com/xwMvx7

    Запостил: gost, 07 Июля 2016

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

    • молодец. настоящий PHPшник!
      Ответить
    • будь я компилятором, я бы сначала имплиситно конвертнул в инт, а потом оптимизировал до cout << true << endl; для всех случаев. О - оптимизация
      Ответить
      • Какое счастье, что ты не компилятор и порядок, в котором рассматриваются кандидаты функций установлен в стандарте.
        Ответить
    • Как проебать ленивость и наделать лишних сравнений.
      Ответить
      • Зато скорость выполнения не зависит от текущего значения, что важно для криптографии, где нельзя допускать атаку, основанную на времени выполнения кода.
        Ответить
        • Будь я секьюрити-аналитиком, я бы во все функции вставлял sleep(10).
          Ответить
          • Судя по всему, в типичных программах на Java так и сделано.
            Ответить
            • Кроме десктопных гуй программ есть еще много других.
              Ответить
              • Да, в серверных сделано так же. Ещё и сервер приходится перезагружать время от времени, потому что мусоросборщик не приходит вовремя.
                Ответить
                • Вот в версии 3_14 в java был самый хороший сборщик мусора. Все ништяки с собой утаскивал!
                  Ответить
                  • В рашке он правда был бесполезен - все полезное до него растаскивали.
                    Ответить
                • С серверными прогаммами там проблема совсем другая - жырный ынтерпрайз.
                  Ответить
            • напомнило "в сеть утекли сырцы вигнды"
              void NtBootStart()
              {
              NtSleep(NtRandom());
                if (NtRandom() % 2)
                {
                   NtBugCheck(NT_UNKNOWN_ERROR); //bsod
                }
              }
              Ответить
          • да, хорошо что ты не секьюрити аналитик
            Ответить
          • лучше вставлять sleep(random()) где random берется из аппаратного ГСЧ
            Ответить
    • А в perl это из коробки
      Ответить
    • - Слушай, но почему ты так относишься-то к ним. Прости, я немного знаю о твоих отношениях с Евгением Олеговичем. Он же вроде нормально к тебе относится.
      Ответить

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