构串操作符#:
#include <iostream>
using namespace std;
#define P(x) cout << #x << endl;
#define Q(x) cout << "C" #x "C++" << endl;
#define R(x) cout << #x #x #x << endl;
int main()
{
P(CPlusPlus);
Q(vs);
R(abc);
return 0;
}
结果为:
CPlusPlus
CvsC++
abcabcabc
合并操作符##就像一个粘合剂:
#include <iostream>
using namespace std;
#define F(x, y) x##y
int main()
{
int he = 0;
F(h, e) = 1;
cout << he << endl; // 1
return 0;
}