目录

什么是内联函数?

什么时候使用内联函数?

内联函数和常规函数的区别

如何使用内联函数?

注意:

代码示例

运行结果:

内联与宏有什么区别


什么是内联函数?

内联函数是C++为了提高程序运算速度所做的一项改进。

内联函数 的编译代码与其他程序的代码“内联”起来,也就是不用乱跳来跳去,编译器将使用的相应的函数代码替换函数调用。

什么时候使用内联函数?

内联函数的  运行速度比常规函数稍快,但是代价是需要更多内存。

内联函数和常规函数的区别

如何使用内联函数?

  • 在函数声明前加上关键字inline
  • 在函数定义前加上关键字inline

通常是省略原型,将整个定义(函数头、函数代码)放在本应提供原型的地方

注意:

将函数作为内联函数时,可能编译器不一定满足。

内联函数不能递归,所以不能自己调用自己,所以不能作为内联函数

有的编译器没有这种特性

代码示例

// inline.cpp -- using an inline function
#include <iostream>// an inline function definition
inline double square(double x) { return x*x; }int main()
{using namespace std;double a, b;double c = 13.0;a = square(5.0);b = square(4.5 + 7.5);cout << "a = " << a << ", b = " << b << endl;cout << "c = " << c;cout << ", c squared = " << square(c++) << "\n";cout << "Now c = " << c << endl;return 0;
}

运行结果:

请注意b的结果,假如是宏,那么就不可能计算正确

内联与宏有什么区别

宏是通过文本替换

比如:   #define SQUARE(X)  X*X

运行: b=SQUARE(4.5 + 7.5)  最后结果是 b = 4.5 + 7.5 * 4.5 +7.5 ;

【C++】内联函数是什么?内联和宏有什么区别?相关推荐

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

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

  2. python内置函数open_Python的内置函数open()的注意事项

    用法 : open("file_address","open_mode") 例子 : f = open("D:\PycharmProjects\log ...

  3. python内置函数调整_python - 内置函数

    一.内置函数 嵌入到主调函数中的函数称为内置函数,又称内嵌函数. 作用是提高程序的执行效率,大多编程语言都有自己的内置函数. 1.作用域相关 deffunc(): name= 'alex' print ...

  4. inline 内联函数详解 内联函数与宏定义的区别

    一.在C&C++中 一.inline 关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义. 表达式形式的宏定义一例: #define ExpressionName ...

  5. 抽象数据类型(顺序栈)、断言、包含头文件、内联函数、非内联成员函数[C++ In Action][4]...

    1. C++中的接口与实现思想, 即类的定义.数据成员的定义.函数原型在接口文件中进行, 实现代码放在实现文件中 2. 函数调用开销:调用前要先保存寄存器,并在返回点恢复:复制实参:程序必须转入一个新 ...

  6. 列举5个python内置函数_Python5个内建高阶函数的使用

    描述 本文结合各种实际的例子详细讲解了Python5个内建高阶函数的使用,能够帮助理解Python的数据结构和提高数据处理的效率,这5个函数分别是: map reduce filter sorted/ ...

  7. python内置函数教程_Python内置函数详解

    此文参考python文档,然后结合自己的理解,写下来,一方面方便自己,让自己好好学习,顺便回忆回忆:另一方面,让喜欢的盆友也参考一下. 经查询,3.6版本总共有68个内置函数,主要分类如下: 数学运算 ...

  8. python中常见的内置函数_Python常用内置函数总结

    Python 常用内置函数总结 一.数学相关 1 .绝对值: abs(-1) 2 .最大最小值: max([1,2,3]) . min([1,2,3]) 3 .序列长度: len('abc') . l ...

  9. all()是python内置函数吗_Python内置函数all(),python

    内置函数 all() 1.描述: all() 函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 True,否则返回 False. 元素除了是 0.空.None.False外都算 T ...

  10. mysql常用内置函数_mysql常见内置函数

    在mysql中有许多内置的函数,虽然功能都能在PHP代码中实现,但巧妙的应用mysql内置函数可以大大的简化开发过程,提高效率. 在这里我总结一下一些常用的,方便以后查看: mysql字符串函数: c ...

最新文章

  1. 分享个网盘,个人觉得很不错!
  2. iOS学习资源(一)
  3. 自然语言系列学习之表示学习与知识获取(六)融合实体描述的知识表示和融合实体所在句子的知识表示
  4. 解决JBoss只能通过localhost访问不能通过IP的问题
  5. iPhone开发之BASE64加密和解密
  6. 批量改变文件夹和子文件夹中图片格式的两种方法
  7. 「2019冬令营提高组」全连
  8. 软件工程——快速掌握面向对象开发方法
  9. STM32工作笔记0080---UCOSIII系统内部任务
  10. 2015年4月20 号的日志
  11. 《从零开始学Swift》学习笔记(Day 13)——数据类型之整型和浮点型
  12. 【iCore4 双核心板_ARM】例程三:EXTI中断输入实验——读取ARM按键状态
  13. JDK和JRE和JVM的区别
  14. 计算机boot进入u盘启动,BIOS中设置U盘启动的几种方法
  15. kinect v2 相机标定
  16. 愤怒的小鸟AR 版终于正式上架!场景超逼真
  17. contiki-6lowpan开发环境之搭建
  18. 地推项目大全_地推吧:app线上推广渠道大全(软件app上新地推)
  19. 有什么好用的gif制作软件 制作GIF表情包教程
  20. linux里的葫芦娃----awk ,sed,grep

热门文章

  1. s2sh整合(详细版)
  2. PS橡皮擦魔棒设置图片的背景为透明
  3. VSPD V9版(Virtual Serial Port Driver 9.0)
  4. 虚拟串口VSPD_V10.0.944官方最新版
  5. android 高德地图移动卡顿_使用高德SDK开发安卓地图应用软件
  6. VR虚拟展厅产品展示如何实现的
  7. 计算机毕业设计Java校园闲置物品交换平台系统(源码+系统+mysql数据库+lw文档
  8. Oracle操作语句(PL/SQL)创建表空间:第 1 行出现错误: ORA-01119: 创建数据库文件时出错 ORA-27040: 文件创建错误, 无法创建文件OSD-04002: 无法打开文件
  9. STemWin专题--画直线
  10. 2021 国内外 IoT 物联网平台汇总