gpt4 book ai didi

c - 宏连接,函数名生成

转载 作者:行者123 更新时间:2023-12-05 01:34:50 25 4
gpt4 key购买 nike

#define Map(From, To, val)          \
Map__##From__##To(val)


Map(TYPEA, TYPEB, 22);

在上面的代码中,我想知道为什么 Map(TYPEA, TYPEB, 22);正在扩展到 Map__From__TYPEB(22);而不是 Map__TYPEA__TYPEB(22);
我使用 gcc -E 进行扩展。

最佳答案

因为 From__不是 Map 中的 token 因此,预处理器不会查找它.. 修复是:

#define Map(From, To, val) \
Map__##From##__##To(val)

关于c - 宏连接,函数名生成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15522115/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com