博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
宏定义和内联函数
阅读量:6184 次
发布时间:2019-06-21

本文共 328 字,大约阅读时间需要 1 分钟。

宏定义和内联函数,都可以减少函数的调用开销,每次调用函数不必压栈和开辟新的空间。使用宏定义和内联函数代码的执行效率高。它们的区别是

(1)宏定义是预编译器加载,而内联函数是由编译器加载;

(2)宏定义容易产生一些错误,

    #define MIN(x)   (x*x)      MIN(1+3)得到的结果不是我们想要的16,而是1+3*1+3=7;解决这个问题的办法是加上括号:

   #define MIN(x) ((x)*(x))

   加括号可以解决上面这个例子的问题,但有些问题还是不能解决,比如

  #define MIN(x)  ((x++)*(x++))   MIN(2)=(2++)*(3++)=6 不是我们想要的结果

  而调用内联函数,就更调用函数没什么区别,不会出现这些问题。

 

转载地址:http://xxsda.baihongyu.com/

你可能感兴趣的文章
DuBrute 3.1
查看>>
【PWA学习与实践】(9)生产环境中PWA实践的问题与解决方案
查看>>
RecyclerView的复用机制
查看>>
机器学习之牛顿法
查看>>
在Ubuntu上使用MySQL设置远程数据库优化站点性能
查看>>
鹅厂优文|主播pk,如何实现无缝切换?
查看>>
编写基于PHP扩展库的后门
查看>>
Android Handler机制之Message及Message回收机制
查看>>
JSON vs Js
查看>>
css居中
查看>>
从问题出发看JAVA编程规范
查看>>
Python爬虫:学了requests库和re库之后能做的事情
查看>>
天下无难试之HashMap面试刁难大全
查看>>
IP地址自动封与解封的shell脚本
查看>>
ubuntu 系统环境配置文件的区别
查看>>
精通visual c++指纹模式识别系统算法及实现
查看>>
博客园自定义页面风格设计 后续篇(页面设计模式及代码高亮 鼠标点击效果升级)...
查看>>
[知识盲点] 为function添加值为function的属性
查看>>
Emacs for Windows use TRAMP
查看>>
ssh登录的调试方法和常见问题
查看>>