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

    +40

    1. 1
    cout << (100 << 1 << (3000 << 2)) << 4 << 2;

    08.02.11 Теплый вечер. IDE. Code::Blocks. Цикл. Я чувствую как меня охватывает зверский аппетит.
    12.02.11 Индия. Все в лучших традициях.

    Потекло со стула.
    Я не крестоблядь.

    Запостил: DesmondHume, 24 Октября 2014

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

    • показать все, что скрыто-
      Ответить
    • А что этот код должен делать помимо вызова UB?
      Ответить
      • быть может вызывать боль и страдания?
        Ответить
      • Выводить 242?
        Ответить
        • Почему 242? Даже логически 200 << 12000 выдавать 2 не может. В теории оно может выдать только 0. На практике оно может выдать что угодно так как UB.
          Ответить
          • Ну да, UB. Но VS вроде тупо игнорирует сдвиг, если стоит константа больше размерности типа.
            Ну и да, я имел в виду 20042, а не 242. Невнимательно писал - и то, и другое - "двести сорок два", только в одном случае с запятой :D
            PS: Не проверял)
            Ответить
            • > VS вроде тупо игнорирует сдвиг
              А сам интеловский проц берет по модулю 32 (т.е. сдвиг 32-битного регистра на 32, 64 и т.п. вообще ничего не делает)... В общем UB есть UB. Может произойти что угодно.

              Есть даже ненулевая вероятность, что компилятор вообще выбросит нахер весь код рассуждая так: "программист умный, UB'а не допустит, а значит сюда управление никогда не попадет, и этот код не нужен".
              Ответить
              • > Есть даже ненулевая вероятность, что компилятор вообще выбросит нахер весь код

                Но выводить что-то надо, вот компилятор и вставляет какое-нибудь число.
                Насчёт "выкинет код" есть неплохая статья (+ страницы, на которые ссылается)
                http://blogs.msdn.com/b/oldnewthing/archive/2014/06/27/10537746.aspx
                Ответить
        • http://ideone.com/HYmkNu
          Ответить
          • А не заебаться ни лам в жопу? М?
            Ответить
            • *лам*
              http://img.huyandex.com/FilesPics/huyandex/109/000/077.jpg
              http://f12.ifotki.info/org/52aa23dba827934d9de392f409792e54bc5f6c13 9384661.jpg
              Ответить
    • Я кончил.
      Ответить
    • показать все, что скрытоПосту-минус, автору - залупу в ротелло.
      Ответить

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