这个想法是创建自动施法者,它将根据给定的前缀和数字粘贴指向变量的指针。假设您有一些不断开发的界面,因此您每隔几周就会获得一些新的结构版本。因此,您可以只使用 SOME_DEFINE(thisStructure, version); 而不是写明确的“(结构1 *),(结构2 *)”等等。这将处理此案
我认为这可以解决问题
#define d1(x) x
#define d2(x,y) x##y
void someFunction()
{
int temp = 3;
d2(myStructure,d1(temp)) *thisStruct;
}
我希望预处理器会嵌套自己并首先粘贴 d1 操作,然后将 d1 操作的结果与第一个 d2 参数合并。但是它不起作用,所以我的问题是,我怎样才能实现这一目标,因为它似乎是可能的。