假设我在包含文件中有一个宏:
// a.h
#define VALUE SUBSTITUTE
另一个包含它的文件:
// b.h
#define SUBSTITUTE 3
#include "a.h"
是 VALUE 现在定义为 SUBSTITUTE 并且将在两次传递中宏扩展为 3 的情况,还是 VALUE 已设置为 SUBSTITUTE 的宏扩展值(即 3)的情况?
我问这个问题是为了试图理解 Boost 预处理器库以及它的 BOOST_PP_SLOT 如何定义工作(编辑:我的意思是底层工作)。因此,当我问上述问题时,如果有人能解释一下,我也很感兴趣。
(而且我想我也想知道到底在哪里可以找到“涂成蓝色”的规则写在哪里......)