#undef在百度知道里解释的不是很清楚,故在此总结如下:
#define TEST_CLASS_A clase T1
#include "TEST.h" 在该范围内TEST_CLASS_A被替换为clase T1
#undef TEST_A
#undef TEST_CLASS_A
#define TEST_A 2
#define TEST_CLASS_A clase T1 clase T2
#include "TEST.h" 在该范围内TEST_CLASS_A被替换为clase T2
#undef TEST_A
#undef TEST_CLASS_A
以上代码的目的就是用宏来实现用同一段代码(在这里为头文件中的代码)得到两种不同的结果,是一种宏的高级技巧