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

时间:2014-03-20 20:27:34   收藏:0   阅读:424

宏相对于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);
};

《C++ Primer第五版》读书笔记--插播--宏相对于inline的优势,布布扣,bubuko.com

原文:http://blog.csdn.net/davidwang9527/article/details/21640367

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!