1.内置函数的定义

C++提供一种提高效率的方法,即在编译时将所调用函数的代码直接嵌入到主调函数中,而不是将流程转出去,这种嵌入到主调函数中的函数称为内置函数,又称内嵌函数或内联函数。

指定内置函数的方法为:在函数声明的左端加一个关键字inline即可。

注意:可以在声明函数和定义函数时同时写inline,也可以只在函数声明时加inline,而定义函数时不加inline。

2.内置函数的使用举例:


#include <iostream>using namespace std;inline int max(int a,int b,int c);int main()
{   int i = 10,j = 20,k = 30,m;m = max(i,j,k);cout<<"max = " <<m<<endl;return 0;
}
inline int max(int a,int b,int c)
{if(b>a) a = b;if(c>a) a = c;return a;
}

3.使用内置函数的优点:

节省运行时间,在函数规模很小的情况下,函数调用的时间开销可能相当于甚至超过执行函数本身的时间,把它定义为内置函数,可以大大减少程序运行时间。

4.注意事项

内置函数函数中不能包括复杂的控制语句,如循环语句和switch语句。

应当说明:对函数做inline声明,只是程序设计者对编译系统的一个建议,也就是说它是建议性的,不是指令性的。并非一经指定为inline,编译系统就必须这样做。编译系统会根据具体情况决定是否这样做。

归纳起来:只有那些规模较小为又被频繁调用的简单函数,才适合于声明为inline函数。

转载于:https://blog.51cto.com/4022688/1720643

内置函数(内嵌函数或内联函数)相关推荐

  1. Esp8266 进阶之路32【高级篇】当esp8266遇到 Html,该怎么内置网页控制设备,理清内置网页的实现过程,实现无需路由器手机也可以控制esp8266。(附带固件)

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. Esp8266之 搭建开发环境,开始一个"hello ...

  2. 图解+笔记-python语言-第5章:数字/5.3 内置数字工具/5.3.2 内置数学函数

    内置数学函数: pow:运算次方 abs:求绝对值 round:四舍五入保留N位小数 >>> a=1.235 >>> round(a,2) 1.24 >> ...

  3. python给js变量赋值_python 之 前端开发( JavaScript变量、数据类型、内置对象、运算符、流程控制、函数)...

    11.4 JavaScript 11.41 变量 1.声明变量的语法 //1. 先声明后定义 var name; //声明变量时无需指定类型,变量name可以接受任意类型 name= "eg ...

  4. python 之 前端开发( JavaScript变量、数据类型、内置对象、运算符、流程控制、函数)...

    11.4 JavaScript 11.41 变量 1.声明变量的语法 // 1. 先声明后定义 var name; // 声明变量时无需指定类型,变量name可以接受任意类型 name= " ...

  5. python内置对象是什么_Python的内置对象类型——元组、文件,python

    元组 元组是序列,但它具有不可变性,和字符串类似,它支持任意类型,任意嵌套以及常见的序列操作. 特点:任意对象的有序集合:通过偏移获取:属于不可变序列类型:固定长度,异构,任意嵌套,对象引用的数组. ...

  6. 下面属于python内置对象的有哪些_Python内置对象实现的方法及注意事项

    ![QQ截图20150928150103.png](http://studygolang.qiniudn.com/150928/e6361a28482c2d44561584940a75112b.png ...

  7. python内置开发工具是什么_Python内置工具(tools)总结

    Python提供了以下几个内置tools模块,简化开发 operator collections itertools functools 除此之外,还有一些其他工具,比如mimetools.unitt ...

  8. 微信内置浏览器调试和调试微信内的H5页面汇总(持续更新...)

    调试PC端微信内置浏览器(只支持3.2.1以下的) (1)添加以下代码, 查看chrome版本和内核安放位置 <html><script type="text/javasc ...

  9. python 类的内置方法_Python 类的常用内置方法

    类的内置方法(魔法方法): 凡是在类内部定义,以__开头__结尾的方法,都是类的内置方法,类的内置方法,会在满足某种条件下自动触发. 1.1__new__ __new__:在___init__触发前, ...

  10. java 内置锁_深入理解java内置锁(synchronized)和显式锁(ReentrantLock)

    synchronized 和 Reentrantlock 多线程编程中,当代码需要同步时我们会用到锁.Java为我们提供了内置锁(synchronized)和显式锁(ReentrantLock)两种同 ...

最新文章

  1. 51nod 1381 硬币游戏 概率
  2. Disruptor官方文档实现
  3. @字王2012·纵变体系列,共12款
  4. ajax提交加载loading图标遮罩层不显示
  5. linux上clisp运行lisp,apache - 重新访问linux + apache2 + mod_lisp + CLISP - 堆栈内存溢出
  6. 转载:JDBC连接数据库教程,postgreSQL
  7. java面试算法总结_java编程面试过程中常见的10大算法概念汇总
  8. 苹果Mac Studio 3月18日发售 但法国一用户已提前收货
  9. php Tsocket read 0,thrift 返回 TSocket read 0 bytes 求助!!!!汗血宝马
  10. 千万级用户-亿级请求的平台架构演变
  11. win10系统字体颜色变淡
  12. latex中的对与错(对号与叉号)
  13. 海尔微型计算机hdp-9108,9108能安装内置声卡?
  14. win10升级助手链接
  15. 保龄球计分java代码_从 保龄球得分计算方法 浅析 深度学习
  16. Flutter基础七:Sliver,设置一些样式
  17. 文献翻译——YOLO9000:Better,Faster,Stronger(YOLOv2)
  18. 浅入浅出 1.7和1.8的 HashMap
  19. Unix编程/应用问答中文版(转)
  20. vue项目开发心得和一些最佳实践

热门文章

  1. Wireshark实战分析之IP协议(一)
  2. ARMv7的OP-TEE源代码的获取和编译
  3. 周六讲的题~C组木有Java组有的
  4. F - 最短路 HDU - 2544(最短路的模板)
  5. python语言是非跨平台语言_python特点
  6. deepin允许root登录_王者荣耀安卓免ROOT不用电脑修改战区2020最新版教程
  7. 求整数n次方以及矩阵n次方快速解法
  8. mac上TK Framework double implementation
  9. 如何给awk传外部参数
  10. java double转string