1) 方便输出变量名和值 # #define Print(x) cout<< #x <<”=”<<x<<endl; int a = 10; Print( a ); // a = 10 2) 跟踪方法调用及其参数传值 #define TRACE(ARG)cout<<#ARG<<endl;ARG TRACE(for(int I =0; I <100;i++)); 3) 连接变量名## #define FIELD(a) char* a##_string; int a##_size FIELD(one); FIELD(two);