C++ Macros: manipulating a parameter (specific example)

后端 未结 3 2084
太阳男子
太阳男子 2021-02-04 19:34

I need to replace

GET(\"any_name\")

with

String str_any_name = getFunction(\"any_name\");

The hard part is ho

3条回答
  •  误落风尘
    2021-02-04 20:11

    One approach is not to quote the name when you call the macro:

    #include 
    
    #define GET( name ) \
        int int##name = getFunction( #name );   \
    
    
    int getFunction( char * name ) {
        printf( "name is %s\n", name );
        return 42;
    }
    
    int main() {
        GET( foobar );
    }
    

提交回复
热议问题