C++内联函数具体有什么作用?

用通俗易懂的语言讲述一下?多谢了... 用通俗易懂的语言讲述一下?多谢了 展开
 我来答
YBudge
高粉答主

2020-09-10 · 每个回答都超有意思的
知道小有建树答主
回答量:1541
采纳率:100%
帮助的人:40.2万
展开全部

内联函数可减少cpu的系统开销,并且程序的整体速度将加快,但当内联函数很大时,会有相反的作用,因此一般比较小的函数才使用内联函数。

内联函数是C++的增强特性之一,用来降低程序的运行时间。当内联函数收到编译器的指示时,即可发生内联:编译器将使用函数的定义体来替代函数调用语句,这种替代行为发生在编译阶段而非程序运行阶段。

值得注意的是,内联函数仅仅是对编译器的内联建议,编译器是否觉得采取你的建议取决于函数是否符合内联的有利条件。如何函数体非常大,那么编译器将忽略函数的内联声明,而将内联函数作为普通函数处理。

内联函数具有一般函数的特性,它与一般函数所不同之处公在于函数调用的处理。一般函数进行调用时,要将程序执行权转到被调用函数中,然后再返回到调用它的函数中;而内联函数在调用时,是将调用表达式用内联函数体来替换。在使用内联函数时,应注意如下几点:

1、类内定义的函数是内联函数,类外定义的函数是非内联函数(短函数可以定义在类内,长函数可以定义在类外)。

2、可以为类外定义的函数指定 inline 关键字,强行为内联函数。

3、在内联函数内不允许用循环语句和开关语句。

4、内联函数的定义必须出现在内联函数第一次被调用之前。

匿名用户
2013-08-01
展开全部
内联函数inline:引入内联函数的目的是为了解决程序中函数调用的效率问题,这么说吧,程序在编译器编译的时候,编译器将程序中出现的内联函数的调用表达式用内联函数的函数体进行替换,而对于其他的函数,都是在运行时候才被替代。这其实就是个空间代价换时间的i节省。所以内联函数一般都是1-5行的小函数。在使用内联函数时要留神:1.在内联函数内不允许使用循环语句和开关语句;2.内联函数的定义必须出现在内联函数第一次调用之前;3.类结构中所在的类说明内部定义的函数是内联函数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-01
展开全部
可以稍微加快运行速度,但会增加代码长度
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
溪贝0号123
2019-11-21 · TA获得超过426个赞
知道答主
回答量:228
采纳率:100%
帮助的人:5.6万
展开全部
和普通函数一样, 在函数前面加上inline 起到装B的作用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
强文司天薇
2019-02-01 · TA获得超过3857个赞
知道大有可为答主
回答量:3096
采纳率:28%
帮助的人:236万
展开全部
对于一个耍要多次调用到的函数,而且比较小的话.最好是用内联函数.而是一个大的函数的话,可以用宏.内联函数其实是提示编译器把相应的代码"内联",而不像宏是在编译前进行简单的字符替换.内联有进行语法和语义检查的功能
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式