C++中内联函数的用法
2024-09-01 23:29:09
程序带调用函数需要一定的时间\空间花销,这就要求在主程序进行过程中调用函数前几下执行指令的地址及其他相关信息,一边函数调用后能继续执行.函数调用后流程返回先前记下的地址处,并根据记录的相关信息回复,而这都需要消耗时间,若有函数频繁使用,那么执行时间会很长,大大降低程序执行效率.因此,我们使用内联函数将函数代码直接嵌入到主调函数中,而不是将流程转出去,减少频繁调用带来的效率降低的问题.
下以 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声明,按照普通函数处理.
最新文章
- Swift语言之命令模式(Command Pattern)实现
- HDU 5869 (离线+树状数组)
- Linux 常用工具小结:(5) lftp工具使用
- e.stopPropagation();与 e.preventDefault();
- Strust2 初体验
- hdu 2047 阿牛的EOF牛肉串
- [原创]java WEB学习笔记77:Hibernate学习之路---Hibernate 版本 helloword 与 解析,.环境搭建,hibernate.cfg.xml文件及参数说明,持久化类,对象-关系映射文件.hbm.xml,Hibernate API (Configuration 类,SessionFactory 接口,Session 接口,Transaction(事务))
- shell 随机从文件中抽取若干行
- bootstrap兼容IE
- Android Studio的配置
- HDOJ-1051 Wooden sticks(贪心)
- mybatis基础学习4-插件生成器
- 初学strurs基础
- 【leetcode74】Sum of Two Integers(不用+,-求两数之和)
- CSS之Background
- linux 一键安装lnmp环境
- CMD 命令2
- Android View体系(一)视图坐标系
- java 基础 --概念--005
- HDU3400 三分套三分