宏定义
我在阅读《inside the c++ object model》一书的时候,开头就是一个我不太懂得宏定义用法,因此查找二零一些资料,把网上的一些文章内容汇总一下,作为笔记,便于以后查阅,所参考的文章链接均在本文最后。
概述
宏定义是一个给定名称的代码片段,当我们使用这个名称的时候,预处理器会自动将其替换为宏定义的内容。宏定义有两种,一种是object-like宏定义,在使用的时候相当于一个数据对象;另一种是function-like,在使用的时候就像调用函数那样。
宏定义的内容可以是任意的,甚至是C关键词(不可以的内容特例[预处理命令]defined
,[c++ named operators]and_eq
,bitand
,bitor
,compl
,not
,not_eq
,or
,or_eq
,xor
,xor_eq
)
宏展开会使源程序变长&#x