《C++ Primer第五版》读书笔记--插播--宏相对于inline的优势

宏相对于inline的优势:宏有inline不能替换的地方,即字符串化(#)和token pasting(##).

Stringizing:Stringizing使用#将一个标识符转换为一个字符串,这在调试时很有用。例如:
#define DEBUG(x) cout << #x " = "<< x << endl;
这能打出任何变量的值。

Token pasting: Token pasting使用##指示符来实现,这在制造代码时非常有用。它允许你使用两个不同的标识符将其粘在一起创建一个新的指示符。

#define FIELD(a) char* a##_string; inta##_size
class Record {
     FIELD(one);
 FIELD(two);
FIELD(three);
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值