程序带调用函数需要一定的时间\空间花销,这就要求在主程序进行过程中调用函数前几下执行指令的地址及其他相关信息,一边函数调用后能继续执行.函数调用后流程返回先前记下的地址处,并根据记录的相关信息回复,而这都需要消耗时间,若有函数频繁使用,那么执行时间会很长,大大降低程序执行效率.因此,我们使用内联函数将函数代码直接嵌入到主调函数中,而不是将流程转出去,减少频繁调用带来的效率降低的问题.

下以 max(int a, int b) 为例:

#include<iostream>
using namespace std;
inline int max(int,int); #声明内联函数
int main()
{
int a=,b=;
cout<<max(a,b);
return ;
} inline int max(int a,int b)
{return a>b?a:b;}

注意,内联函数的使用范围多是体积小而使用的频繁的代码.像包含递归\循环\switch语句的函数是无法进行代码置换的,而代码量多大上千行的函数在调用点展开也不现实,在这些情况下,编译系统会自动忽略inline声明,按照普通函数处理.

最新文章

  1. Swift语言之命令模式(Command Pattern)实现
  2. HDU 5869 (离线+树状数组)
  3. Linux 常用工具小结:(5) lftp工具使用
  4. e.stopPropagation();与 e.preventDefault();
  5. Strust2 初体验
  6. hdu 2047 阿牛的EOF牛肉串
  7. [原创]java WEB学习笔记77:Hibernate学习之路---Hibernate 版本 helloword 与 解析,.环境搭建,hibernate.cfg.xml文件及参数说明,持久化类,对象-关系映射文件.hbm.xml,Hibernate API (Configuration 类,SessionFactory 接口,Session 接口,Transaction(事务))
  8. shell 随机从文件中抽取若干行
  9. bootstrap兼容IE
  10. Android Studio的配置
  11. HDOJ-1051 Wooden sticks(贪心)
  12. mybatis基础学习4-插件生成器
  13. 初学strurs基础
  14. 【leetcode74】Sum of Two Integers(不用+,-求两数之和)
  15. CSS之Background
  16. linux 一键安装lnmp环境
  17. CMD 命令2
  18. Android View体系(一)视图坐标系
  19. java 基础 --概念--005
  20. HDU3400 三分套三分

热门文章

  1. 我说CMMI之五:CMMI 4个等级的区别--转载
  2. 交互式数据可视化-D3.js(三)比例尺
  3. centos7排查swap占用过高
  4. Java多线程和并发(十二),Java线程池
  5. 51 Nod 最大子矩阵和
  6. 暑假集训 #3div2 C Sequence 数字找规律
  7. AcWing:110. 防晒(贪心)
  8. 如何在matalb图像上添加公式符号
  9. [BZOJ1001][BeiJing2006]狼抓兔子(最小割转最短路|平面图转对偶图)
  10. windows 安装使用 Memcached