1. 程式人生 > >C++利用巨集動態命名變數名

C++利用巨集動態命名變數名

通常的3個是因為有一個用做隱藏__LINE__

比如
#define CONNECTION(text1,text2) text1##text2
#define CONNECT(text1,text2) CONNECTION(text1,text2)

    int CONNECT(test,1212) = 1212; //  int test1212 = 1212;

#define VAR 326
    int CONNECT(test,VAR) = 326; // int test326 = 326;
#undef VAR

#define VAR 86
    int CONNECT(test,VAR) = 86; // int test86 = 86;
#undef VAR

   int CONNECT(test,__LINE__) = __LINE__; // int testXXX = XXX;


為了方便的自動命名,出現第3個巨集
#define CONNECT_BY_LINE(text) CONNECT(text,__LINE__)

   int CONNECT_BY_LINE(test) = __LINE__; // int testYYY = YYY;