标签:namespace inline 循环 流程 处理 class 使用 主程 span
程序带调用函数需要一定的时间\空间花销,这就要求在主程序进行过程中调用函数前几下执行指令的地址及其他相关信息,一边函数调用后能继续执行.函数调用后流程返回先前记下的地址处,并根据记录的相关信息回复,而这都需要消耗时间,若有函数频繁使用,那么执行时间会很长,大大降低程序执行效率.因此,我们使用内联函数将函数代码直接嵌入到主调函数中,而不是将流程转出去,减少频繁调用带来的效率降低的问题.
下以 max(int a, int b) 为例:
#include<iostream> using namespace std; inline int max(int,int); #声明内联函数 int main() { int a=3,b=7; cout<<max(a,b); return 0; } inline int max(int a,int b) {return a>b?a:b;}
注意,内联函数的使用范围多是体积小而使用的频繁的代码.像包含递归\循环\switch语句的函数是无法进行代码置换的,而代码量多大上千行的函数在调用点展开也不现实,在这些情况下,编译系统会自动忽略inline声明,按照普通函数处理.
标签:namespace inline 循环 流程 处理 class 使用 主程 span
原文地址:https://www.cnblogs.com/Aurora-Borealis/p/summer77-3.html