• 宏定义和内联函数都是为了使得程序减少函数的调用而花费的开销,提高了执行效率
  • 宏定义只是作简单的文本替换,而内联函数则是在调用出展开
  • 宏定义在预处理时作替换,而内联函数在编译时展开
  • 内联函数会做类型、语法检查,而宏不具有这样的功能
  • 宏在作函数时,容易出现二义性

参考链接:

https://blog.csdn.net/leo115/article/details/7906102

https://www.cnblogs.com/nufangrensheng/p/3626983.html

http://huxiongwei.spaces.eepw.com.cn/articles/article/item/85841

宏定义和内联函数的区别相关推荐

  1. 宏定义和内联函数的学习

    宏定义可以提高效率,但是宏不是函数. 预编译通过代码复制的方式代替函数调用,省去了诸如函数压栈等系统过程,从而提高了效率.但是由于宏定义仅仅是代码替换,所以引起很多问题. #define  MAX(a ...

  2. 【C/C++】宏函数与内联函数的区别

    [C/C++]宏函数与内联函数的区别 文章目录 [C/C++]宏函数与内联函数的区别 一.概念 二.特性 三.优缺点 3.1 内联函数的优缺点? 3.2 宏的优缺点? 四.笔试题 4.1 为什么要是用 ...

  3. C++的内联函数和非内联函数的区别

    一.内联函数和非内联函数的定义 1.内联函数 inline void test(); void test() { cout<<"test"<<endl; } ...

  4. 带参宏定义和带参函数的区别

    在带参宏定义中,不会为形式参数分配内存,因此不必指明数据类型.而在宏调用中,实参包含了具体的数据,要用它们去代换形参,因此必须指明数据类型. 这一点和函数是不同的:在函数中,形参和实参是两个不同的变量 ...

  5. c++学习笔记内联函数,函数重载,默认参数

    c++学习笔记内联函数,函数重载,默认参数 1 inline内联函数 C++中的const常量可以替代宏常数定义,如: const int A = 3;  #define A 3 C++中是否有解决 ...

  6. 内联函数和宏定义的区别

    用内联取代宏: 1.内联函数在运行时可调试,而宏定义不可以; 2.编译器会对内联函数的参数类型做安全检查或自动类型转换(同普通函数),而宏定义则不会:  3.内联函数可以访问类的成员变量,宏定义则不能 ...

  7. 内联函数与宏函数的区别

    内联函数 概念 以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数压栈的开销,内联函数提升程序运行的效率 特性 inline是一种以空间换时间的做法,省去调用 ...

  8. c语言中void和define,C语言里面的内联函数(inline)与宏定义(#define)探讨

    C语言里面的内联函数(inline)与宏定义(#define)探讨 先简明扼要,说下关键: 1.内联函数在可读性方面与函数是相同的,而在编译时是将函数直接嵌入调用程序的主体,省去了调用/返回指令,这样 ...

  9. C++中宏与内联函数

    1宏定义 C++是C的超集,C++继承了C的一个重要特性就是效率,在C中提高程序运行效率的重要手段就是宏,宏可以不用普通函数的调用但使用起来就像普通函数调用一样,宏的实现采用的是预处理器而不是编译器, ...

最新文章

  1. python线程执行带有参数的任务(args、kwargs)
  2. cmake linux编译,Ubuntu 16.04编译cmake源码
  3. java数字转换成字符串
  4. Ubuntu下使用AMD APP编写OpenCL程序
  5. ajax取消数据获取
  6. 【redis】redis的bind配置
  7. [地图SkyLine二次开发]框架(2)
  8. 2017美赛A题论文阅读笔记
  9. 用uniapp做的一个在线简历,可以发布成为微信小程序,给面试加分
  10. postman实现接口请求
  11. 多校区网络直播系统解决方案
  12. Vue项目——文章发布和修改
  13. 【踩坑日记】Vue组件@click事件点击没有反应
  14. Android的主线程与子线程
  15. 李建忠设计模式——享元模式
  16. 基于人脸识别和瞳孔检测的屏幕亮度自适应调节装置
  17. 玩转Redis-干掉钉子户-没有设置过期时间的key
  18. [bzoj4011][DP]落忆枫音
  19. swing中通过.class文件(把.java都删除)打包成jar文件,使用皮肤包遇到的问题。
  20. js导出图片添加水印

热门文章

  1. 重磅!神策数据游戏行业解决方案全面上线,速来围观
  2. 收官礼 |《神策 2018 数据驱动大会回顾专刊》发布,你要的干货,已打包!
  3. 技术分享 | 个性化推荐系统商业化的五大要素
  4. vim基础-一般模式
  5. centos 桥接配置 设置网络代理 lnmp搭建
  6. usaco Packing Rectangles
  7. ifm management of technology q and a session 2
  8. formal method revision
  9. Kazuo Inamori
  10. 手游为什么要热更新,C#为什么不能热更新,LUA为什么可以