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

    +158

    1. 1
    2. 2
    3. 3
    typedef int IntHack;
    const intHack operator+(const intHack, const intHack)
    {

    Счастливой отладки. ^_^

    Запостил: Говногость, 20 Августа 2011

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

    • показать все, что скрытоСучки!
      Ответить
    • а с каких это пор в С++ стало можно оперции для стандартных/встроеных типов переопределять? или я чего пропустил?

      да и на `const int` тип возврата, человеческий компилер ругнется, бо "const doesn't make sense" в контексте.
      Ответить
      • >а с каких это пор в С++ стало можно оперции для стандартных/встроеных типов переопределять?
        >да и на `const int` тип возврата, человеческий компилер ругнется
        Очевидно это не человеческий компилятор. И тайпдеф IntHack тут тоже не спроста... Видимо, для использования бага компилятора.
        Ответить
        • Так вроде typedef создает пользовательский тип, и уже можно преопределять операторы, причём на стандартных типах это никак не скажется.
          Проверю ка я эту штуку на g++.
          Ответить
          • typedef не создаёт тип.
            Ответить
          • typedef не создает новый тип. Это всего лишь синоним типа. А вот в D например уже не так.
            Ответить
    • Кто-нибудь заметил, что IntHack ≢ intHack?
      Ответить
      • Я заметил, решил, что фейк и минуснул.
        Ответить
      • Хм, может там за IntHack прячется класс?
        Теперь это ещё более загадочный код...
        Ответить

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