如果在调试程序时想输出形如"x = 20"的话,通常是直接利用如下语句:cout << "x="<<x<<endl;如果变量只有一个或是几个还好(实际上多于三个就让人有些难以接受了),实际编程中所遇到的大都多 于三个,这样我们就得为每一个输出的变量写一句。幸运的是,标准C具有字符串化运算符"#",在一个宏中的参数前面使用一个"#",预处理器会把这个参数 转换为一个字符串数组。像这样:
#include <iostream>
using namespace std;
#define p(x) cout << #x"="<<x<<endl;
int main()
{
int a = 10;
p(a);
return 0;
}
输出:
a = 10;