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

    +168

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    #define LOGGER_0(func) Globals::Log1(func)
    #define LOGGER_S(func, str) Globals::Log2(func, std::string(str))
    #define LOGGER_D(func, dig) Globals::Log2(func, dig)
    #define LOGGER_SD(func, str, dig) Globals::Log3(func, std::string(str), dig)
    #define LOGGER_DS(func, dig, str) Globals::Log3(func, dig, std::string(str))
    #define LOGGER_SS(func, str0, str1) Globals::Log3(func, std::string(str0), std::string(str1))
    #define LOGGER_SSS(func, str0, str1, str2) Globals::Log4(func, std::string(str0), std::string(str1), std::string(str2))
    ........
    #define LOGGER_S6(func, str0, str1, str2, str3, str4, str5) Globals::Log7(func, std::string(str0), std::string(str1), std::string(str2), std::string(str3), std::string(str4), std::string(str5))
    .......
    #define LOGGER_SSDDD(func, str0, str1, dig0, dig1, dig2) Globals::Log6(func, std::string(str0), std::string(str1), dig0, dig1, dig2)
    ..... // еще с десяток подобных макросов.

    Привет от нидерландских индусов...

    Запостил: ossa, 19 Июля 2011

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

    • и что тут такого?
      Ответить
    • нигерландских
      Ответить
    • Может быть и есть смысл в дефайнах, если присутствуют #ifdef ветвления. А так - какое-то простое повторение. Правда не совсем понятно какой тип бывает у strN.
      Ответить
    • Ахаха, о потоках естественно никто не знает, о перегрузке операторов тоже.
      Ответить
    • В лучших традициях статикомразей. Лиспобоги смеются над вами.
      Ответить
    • google it: typelist

      #define TYPELIST_1(T1) typelist<T1, null_typelist>
      #define TYPELIST_2(T1, T2) typelist<T1, TYPELIST_1(T2) >
      #define TYPELIST_3(T1, T2, T3) typelist<T1, TYPELIST_2(T2, T3) >
      ...
      #define TYPELIST_50...
      Ответить
    • показать все, что скрытоvanished
      Ответить

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