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

    +164

    1. 1
    2. 2
    #define MERGE(X,Y) X##Y
    typedef unsigned MERGE(ch,ar)	byte;

    Запостил: sermp, 11 Октября 2010

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

    • А в чем смысл?
      Ответить
      • Представьте себя препроцессором - поймете :)
        Ответить
        • Представил. Не понял. Так все-таки, зачем это делалось?
          Ответить
          • Теперь уже только Бог знает ;)
            Это же говнокод. Причем, вот именно этот бессмысленный и беспощадный.
            Ответить
          • Смысл в деятельности. В данном случае, обфускационной.
            Ответить
    • ^_^
      Ответить
      • MERGE( type, MERGE( def, MERGE( ' ', MERGE( unsigned, MERGE( ' ', MERGE( ch, ar ) ) ) ) ) byte;

        Прям Александреску (=
        Ответить
        • это уже совсем адЪ
          Ответить
        • ## требует на выходе токен языка - твой юмор споткнется на пробелах ;)
          Ответить
        • > MERGE( type, MERGE( def, MERGE( ' ', MERGE( unsigned, MERGE( ' ', MERGE( ch, ar ) ) ) ) ) byte;

          Не выйдет, получится:
          typedef' 'unsigned' 'char byte;
          и одной закрывающей скобки не хватает!
          Ответить
    • Крайне старая штучка (касательно ##, естественно). Вроде как было в ветхом завете (по старому-доброму C), с рекомендацией так не делать. Но кому-то, видимо, было нужно.
      Ответить
    • Кому-то было не нужно я б сказал а скучно =D
      Ответить

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