C中的宏扩展
发布时间:2020-12-14 17:33:01 所属栏目:百科 来源:网络整理
导读:这个宏 #define f(x) x x f (1 #undef f #define f 2 f) 根据this link扩展到此1 2 1 2. 它实际上是这样做的,我已经使用Xcode产品验证了执行操作预处理但扩展此宏时预处理器遵循哪些步骤? 解决方法 初步情况: f (1#undef f#define f 2f) 如果我们引用您提
这个宏
#define f(x) x x f (1 #undef f #define f 2 f) 根据this link扩展到此1 2 1 2. 它实际上是这样做的,我已经使用Xcode产品验证了>执行操作>预处理但扩展此宏时预处理器遵循哪些步骤? 解决方法
初步情况:
f (1 #undef f #define f 2 f) 如果我们引用您提供的链接,则会通过两个步骤对宏进行预处理:
用函数式宏作为参数的替换为2: f(1 f) -> f (1 2) 第2步:参数替换
使用其原始定义解析类似函数的宏f: f(1 2) -> 1 2 1 2 整件事实际上等同于以下内容: #define f(x) x x #define g 2 f(1 g) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |