1. Си / Говнокод #23225

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    #define SPLICE(a,b) a##b
    #define LL(a,b) SPLICE(a,b)
    #define M(name) LL(NS,name)
    
    
    #define NS ns1_
    
    void M(somefunction)(){
    }
    
    #undef NS
    
    
    #define NS ns2_
    
    void M(somefunction)(){
    }
    
    #undef NS
    
    
    #define NS ns3_
    
    void M(somefunction)(){
    }
    
    #undef NS

    неймспейсы в Си на препроцессоре

    Запостил: j123123, 30 Июля 2017

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

    • А как юзать потом?
      Ответить
      • Явно выписывать неймспейсы, как принято среди приличных людей.
        Ответить
        • А если несколько неймспейсов нужно юзать одновременно?
          Ответить
          • ... тогда можно использовать(возможно даже написать) альтернативный препроцессор
            Ответить
    • Паршивая идея, кмк
      Ответить
    • Да кто же мне уже объяснит, зачем нужны эти тройные макросы, которые могут "неправильно" раскрыться? Покажите уже примеры этого тонкого траллинга от Ритчи
      Ответить
    • Чего люди только не придумают чтоб не использовать С++ компилятор... а затем и переписать весь проект на С++ Си с классами
      Ответить

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