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

    +9

    1. 1
    #   define BOOST_MPL_AUX_NTTP_DECL(T, x) T x

    Очень интересный стайлгайд Алексей Гуртового

    Запостил: crastinus, 07 Декабря 2013

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

    • *Алексея Гуртового
      Ответить
      • Поторопился. В каком то маловероятном случае этот макрос заменяется на:
        # define BOOST_MPL_AUX_NTTP_DECL(T, x) T ## x
        В одном случае объявляем тип, в другом склеиваим. Может кто копался в MPL?
        Ответить
    • ($)                     :: (a -> b) -> a -> b
      f $ x                   =  f x
      Ответить
      • Эта функция принимает в аргумент функцию и значение и вызывает функцию с этим значением. Я правильно понял?
        Ответить
        • Да*
          * С учётом ленивости и каррирования слово "вызывает" может быть некорректным, но суть примерно такая.
          Ответить
          • Кстати, вообще не понимаю термин "ленивая функция". Ленивый объект еще как-то укладывается в сознании или ленивая инициализация.
            Ответить
            • > Ленивый объект еще как-то укладывается в сознании
              И отдыхает.
              Ответить
    • Гуртовщики мыши.
      Ответить
      • кто такой буГуртовский, что его тут пиарят?
        Ответить
        • http://boost.sourceforge.net/photos/aleksey_gurtovoy.jpg
          http://boost.sourceforge.net/photos/aleksey_gurtovoy2.jpg
          Ответить
          • Всем все сразу стало понятно.
            Ответить
          • Ох, неужели на говнокодике начался самопиар?
            Ответить
            • Я думал ты стебешся. Ты же читал исходники буста. Думал ты знаешь автора boost::mpl.
              +соавтор абрахамса.
              Ответить
              • Автор BOOST_PP мог достать свою фотку из детства. На этой фотке у него вполне нормальный креативный возраст.
                Ответить
              • Абрахамса видел. Гуртовского нет, но если ты принес картинки просто чтобы посмеяться: школота пишет буст, то зря. Ты лучше подумай: ты то в его возрасте что-нибудь путное написал? А он написал. Ахаять каждый может, а ты возьми и сделай лучше вместо своего критического "мухахаха".
                Ответить
                • Просто меметичный тип в шапке. Судя по второй картинке он сам не против.А на фотографии ему за двадцать.
                  Ответить
        • >пиарят
          форсят
          Ответить
    • может, это макрос для Boost.Preprocessor?
      Ответить
      • Скорее для какого-то приема макропрограммирования
        http://www.boost.org/doc/libs/1_31_0/boost/mpl/vector_c.hpp
        Ответить
        • я сказал что-то другое?
          Ответить
          • Я опечатался. Не макропрограммирования, а метапрограммирования.
            Ответить
            • Из приведённого тобой же сорца видно, что этот макрос используется для генерации параметров шаблона с дефолтными значениями через Boost.Preprocessor.
              Ответить
              • А для отладки макросов такое может использоваться?
                Ответить
                • Сложно сказать, я boost pp не особо использую, зачем усложнять жизнь коллегам?
                  Для отладки я бы использовал ключ -E у gcc.
                  Ответить

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