converting a variable name to a string in C++

前端 未结 8 988
广开言路
广开言路 2020-12-01 01:15

I\'d like to output some data to a file. For example assume I have two vectors of doubles:

vector data1(10);
vector data2(10); 
         


        
8条回答
  •  醉梦人生
    2020-12-01 02:02

    You can use the preprocessor "stringify" # to do what you want:

    #include 
    
    #define PRINTER(name) printer(#name, (name))
    
    void printer(char *name, int value) {
        printf("name: %s\tvalue: %d\n", name, value);
    }
    
    int main (int argc, char* argv[]) {
        int foo = 0;
        int bar = 1;
    
        PRINTER(foo);
        PRINTER(bar);
    
        return 0;
    }
    
    
    name: foo   value: 0
    name: bar   value: 1
    

    (Sorry for printf, I never got the hang of . But this should be enough.)

提交回复
热议问题