Advertisement

C++学习日记——递归、内联函数重载及变量的作用域与存储类型

阅读量:

一、递归函数

定义:递归函数是直接或间接地调用了自身的函数

用法:通过使用递归算法将一个规模较大的问题转换为一个规模较小的同类问题来解决。

特征:1、定义中包含函数本身(即递归公式)

2、必须有终止条件

递归调用阶段:

逐步将问题细化为规模更小的部分,并从简单到复杂地推导出结果

回归:基于已知数据集,在逆向递推的过程中逐步计算每个步骤,并最终以解决原始目标为最终目标的过程。

注:提示应尽量避免过度依赖递归函数可能会导致内存消耗过高,在实际应用中最好尽可能避免递归以提高效率

二、内联函数

解决:该程序采用一组函数实现是一种高效的方案,尽管在函数调用过程中存在一定的开销。

1、C++提供的内联函数可以减少函数调用的开销。

内联函数的定义格式:

inline <函数值类型> <函数名> (<形式参数表>)

{

函数体
}

在编译系统中,该系统会对程序中的特定语句(或表达式)进行处理,即当遇到需要调用内联函数时,会将这些语句替换为该内联函数体内的代码片段

当执行时就避免了对内联函数的调用而降低了由于函数调用带来的额外时间消耗从而提升了程序运行效率水平

采用内联方式能够减少运行时间;然而会增加目标程序的长度。通常会选择那些规模较小且被频繁使用的简单函数,并将其声明为内联形式。

4、编译程序在遇到内联函数时,就用内联函数代码替代调用式。

全部评论 (0)

还没有任何评论哟~