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加上括号。
其次,上述按宏定义形式实现的内容需要传递两次值。而如果采用内联函数则只需要传递一次。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值