《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);
};

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

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

上一篇:Java_面向对象


下一篇:初装系统时javaweb开发环境的环境变量的配置