宏元编程

宏元编程是一种利用宏展开特性的编程技术,旨在减少代码重复并提升抽象层次。本文介绍了宏的定义,包括带参数和不带参数的形式,并通过实例展示了宏的展开过程、宏计算以及如何实现递归。
摘要由CSDN通过智能技术生成

宏元编程定义

宏元编程目的是利用宏在展开时候的特性减少重复代码,提供更高层的编程抽象。

宏的定义

宏有两种形式,带参数和不带参数

#define identifier replacement-list
#define identifier(a1,a2,...an) replacement-list

说明:宏的实参必须是除了逗号和小括号之外的预处理标记,或者有一对小括号包围的一组预处理标记。

举例:

#define FUN(x) x  // ok
#define Fun1(,)   // failed
#define Fun2(()   // failed

两个预编译期的特殊标记##和#
##含义是把两端的预处理标记和在一起生成一个新的预处理标记
#会把后面跟的预处理标记生成一个字符串
例如:
#define PARAM(n) p##n
#define TO_STRING(x) #x
可以这样应用
void func(PARAM(1), PARAM(2), PARAM(3)){
}

char* name = TO_STRING(hello);
展开后
vo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值