Präprozessor-Kommando: #, ## und zurück?



  • Hi,

    ich spiele gerade etwas mit den Präprozessor-Kommandos # und ## rum und möchte gerne wissen ob es ein Makro gibt mit dem man folgendes bewerkstelligen kann:

    #define declare_enum(name, values) \
        enum name\
        {\
            values\
        }
    
    declare_enum (foobar, "a=0, b=1, c");
    

    Also ich suche sogesehen das Gegenstück zu #, mit dem ich einen String in Source-Code wandeln kann. Gibt es so etwas?



  • Ganz knapp: Nein
    Und das ist auch gut so. 😉

    Allerdings gibt es da mit Templates gewisse Möglichkeiten das in etwa so zu bewerkstelligen. (Siehe "Modern C++ Design" , Alexandrescu : Typlisten).
    Mit Typlisten kannst du so ziemlich genau das bewerkstelligen.

    Aus irgendeinem Grund kann ich jetzt nicht auf google zugreifen, aber ich gebe dir mal den Link zur Loki Bibliothek, die Typlisten beinhaltet:
    http://loki-lib.sourceforge.net/index.php?n=Main.HomePage


Anmelden zum Antworten