1. 程式人生 > >關於C++巨集引數的定義型別問題

關於C++巨集引數的定義型別問題

巨集引數可以是沒有定義型別的東西,很奇特!

REGISTER_OSGEARTH_LAYER(land_cover_dictionary, LandCoverDictionary);

#define REGISTER_OSGEARTH_LAYER(NAME,CLASS) \
    extern "C" void osgdb_##NAME(void) {} \
    static osgEarth::RegisterPluginLoader< osgEarth::PluginLoader<CLASS, osgEarth::Layer> > g_proxy_##CLASS_##NAME( #NAME );

在巨集裡面可以對巨集引數解釋成類名,也可以解釋成函式中的一部分字串。