内置函数(内嵌函数或内联函数)
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
内置函数(内嵌函数或内联函数)相关推荐
- Esp8266 进阶之路32【高级篇】当esp8266遇到 Html,该怎么内置网页控制设备,理清内置网页的实现过程,实现无需路由器手机也可以控制esp8266。(附带固件)
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. Esp8266之 搭建开发环境,开始一个"hello ...
- 图解+笔记-python语言-第5章:数字/5.3 内置数字工具/5.3.2 内置数学函数
内置数学函数: pow:运算次方 abs:求绝对值 round:四舍五入保留N位小数 >>> a=1.235 >>> round(a,2) 1.24 >> ...
- python给js变量赋值_python 之 前端开发( JavaScript变量、数据类型、内置对象、运算符、流程控制、函数)...
11.4 JavaScript 11.41 变量 1.声明变量的语法 //1. 先声明后定义 var name; //声明变量时无需指定类型,变量name可以接受任意类型 name= "eg ...
- python 之 前端开发( JavaScript变量、数据类型、内置对象、运算符、流程控制、函数)...
11.4 JavaScript 11.41 变量 1.声明变量的语法 // 1. 先声明后定义 var name; // 声明变量时无需指定类型,变量name可以接受任意类型 name= " ...
- python内置对象是什么_Python的内置对象类型——元组、文件,python
元组 元组是序列,但它具有不可变性,和字符串类似,它支持任意类型,任意嵌套以及常见的序列操作. 特点:任意对象的有序集合:通过偏移获取:属于不可变序列类型:固定长度,异构,任意嵌套,对象引用的数组. ...
- 下面属于python内置对象的有哪些_Python内置对象实现的方法及注意事项
![QQ截图20150928150103.png](http://studygolang.qiniudn.com/150928/e6361a28482c2d44561584940a75112b.png ...
- python内置开发工具是什么_Python内置工具(tools)总结
Python提供了以下几个内置tools模块,简化开发 operator collections itertools functools 除此之外,还有一些其他工具,比如mimetools.unitt ...
- 微信内置浏览器调试和调试微信内的H5页面汇总(持续更新...)
调试PC端微信内置浏览器(只支持3.2.1以下的) (1)添加以下代码, 查看chrome版本和内核安放位置 <html><script type="text/javasc ...
- python 类的内置方法_Python 类的常用内置方法
类的内置方法(魔法方法): 凡是在类内部定义,以__开头__结尾的方法,都是类的内置方法,类的内置方法,会在满足某种条件下自动触发. 1.1__new__ __new__:在___init__触发前, ...
- java 内置锁_深入理解java内置锁(synchronized)和显式锁(ReentrantLock)
synchronized 和 Reentrantlock 多线程编程中,当代码需要同步时我们会用到锁.Java为我们提供了内置锁(synchronized)和显式锁(ReentrantLock)两种同 ...
最新文章
- 51nod 1381 硬币游戏 概率
- Disruptor官方文档实现
- @字王2012·纵变体系列,共12款
- ajax提交加载loading图标遮罩层不显示
- linux上clisp运行lisp,apache - 重新访问linux + apache2 + mod_lisp + CLISP - 堆栈内存溢出
- 转载:JDBC连接数据库教程,postgreSQL
- java面试算法总结_java编程面试过程中常见的10大算法概念汇总
- 苹果Mac Studio 3月18日发售 但法国一用户已提前收货
- php Tsocket read 0,thrift 返回 TSocket read 0 bytes 求助!!!!汗血宝马
- 千万级用户-亿级请求的平台架构演变
- win10系统字体颜色变淡
- latex中的对与错(对号与叉号)
- 海尔微型计算机hdp-9108,9108能安装内置声卡?
- win10升级助手链接
- 保龄球计分java代码_从 保龄球得分计算方法 浅析 深度学习
- Flutter基础七:Sliver,设置一些样式
- 文献翻译——YOLO9000:Better,Faster,Stronger(YOLOv2)
- 浅入浅出 1.7和1.8的 HashMap
- Unix编程/应用问答中文版(转)
- vue项目开发心得和一些最佳实践