码迷,mamicode.com
首页 > 其他好文 > 详细

预处理、const、static与sizeof-内联函数与宏有什么区别

时间:2017-10-09 22:28:53      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:文本替换   预处理   括号   目标   替换   否则   代码   情况   static   

1:二者的区别如下:

(1)内联函数在编译时展开,宏在预编译时展开。

(2)在编译的时候,内联函数可以直接被镶嵌到目标代码中,而宏只是一个简单的文本替换。

(3)内联函数可以完成诸如类型检测、语句是否正确等编译功能,宏就不具有这样的功能。

(4)宏不是函数,inline函数是函数。

(5)宏在定义时要小心处理宏参数(一般情况是把参数用括号括起来),否则容易出现二义性。而内联函数定义时不会出现二义性。

预处理、const、static与sizeof-内联函数与宏有什么区别

标签:文本替换   预处理   括号   目标   替换   否则   代码   情况   static   

原文地址:http://www.cnblogs.com/lovemi93/p/7642858.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!