前言
无论在C语言或者C++语言中,函数都是一个非常重要的部分,可以说是一个最基本的模块。而C++相对于C语言的不同之处便在于新增了许多函数方面的特性,比如:函数重载、内联函数、默认参数等。本文首先对其中的部分特性进行总结,由于本人能力有限,如有不足之处,还望各位读者可以及时指正,谢谢大家!
内联函数
内联函数的定义
内联函数是C++新增的一个特性,其最大的目的便是提高程序运行的效率。在普通的函数调用中,程序会跳转到函数的地址处,执行函数中的内容,当函数执行完毕之后,将返回之前的地址处,继续执行。这也就意味着,调用函数是需要一定的时间开销的。
而对于内联函数而言,他是将函数体的代码直接替换函数,所以不需要经过函数调用,但是却会加大内存的消耗,如果内联函数被调用了10次,那么便需要创建10个内联函数的副本。
如何使用内联函数
下面两种方法任选其一便可:
1、在函数声明前,加上inline关键字:
inline double square(double x);//声明一个内联函数square
2、在函数定义前,加上inline关键字:
inline double square(double x)//定义一个内联函数square
{
return (x * x);
}
内联函数与宏定义
我们通过上述的描述可以发现,内联函数与宏定义在某种程度上是很相似的,都是替代的作用。而实际上,内联函数也是从宏定义发展而来的。那么两种有什么不同呢?我们举例说明:
宏定义函数
#