#define PRINTCLASS(ClassName) printout(#ClassName)
PRINTCLASS(ClassName);
printout("ClassName");
#define DeclareSomething(ArgumentName,i) int ArgumentName##i
DeclareSomething(rr,4);
int rr4;
#define DeclareSomething(ArgumentName) int ArgumentName##index
DeclareSomething(rr);
相当于:
int rrindex;
int indexrr;
#define Declare_Fun(...) typedef std::function<void(__VA_ARGS__)> iStdFunction
Declare_Fun(int,int,double);
std::function<void(int,int,double)> iStdFunction;
std::function<void(int,float,double)> iStdFunction
Declare_Fun();
std::function<void(int)> iStdFunction;
gcc -E m.cpp -o m.i