本文主要是介绍C++随笔1:C++内联函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
内联函数
Q1:内联函数是与常规函数有什么区别
内联函数的编译代码与起跳程序的代码内联起来,即并非采用跳转到内联函数程序段的方式运行内联函数还是讲内联这个代码段插入到上级程序中。
Q2:使用内联函数有什么意义?
这样一来变可以节省下来跳转内联函数所需的时间,从而加快了程序运行的速度,但是同时内联函数也占用了更多的空间。
Q3:什么样的函数适合写为内联函数?
1、内联函数的代码应该比较短小。占用内存过多。
2、内联函数的代码运行所需的时间相较于调用所需的时间应该比较小。否则的话节省的时间只占总过程的很小一部分。其实这个内容与1是二而一的问题
3、内联函数调用的频率应该比较高,否则节省的时间总量有限。
Q4:怎么编写内联函数?
在函数的声明和定义之前加上inline关键字就可以。
Q5:注意事项1:不是所有编译器都是支持的
1、内联函数不可以写成递归形式。
2、内联函数不可以过大,否则有些编译器认为不能将其作为内联函数
Q6:注意事项2:内联函数和常规函数一样是采用按值传递函数滴?
这句话主要是提醒注意传统的C函数采用宏定义的形式实现了很多类似函数的功能。但是这样是有不足的主要体现在两点:
首先。宏定义是使用文本替换的形式来实现的。所有会出现一些问题。如下:
#define SQUARE(X) X*X
但是如果x是4.5+7.5就不能实现上面的内容了。而必须将X加上括号。
其次,上述按宏定义形式实现的内容需要传递两次值。而如果采用内联函数则只需要传递一次。
这篇关于C++随笔1:C++内联函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!