为了账号安全,请及时绑定邮箱和手机立即绑定

inline函数和一般的函数有什么不同?

/ 猿问

inline函数和一般的函数有什么不同?

慕勒3428872 2019-02-24 10:06:25

inline函数和一般的函数有什么不同


查看完整描述

3 回答

?
慕的地8271018

inline函数和一般的函数的区别:

1、定义次数

inline函数是允许在多个cpp中多次定义的,而一个可执行文件的cpp文件中一个函数只能被定义一次。如果你把函数定义在一个.h文件中并让两个cpp包含就会造成这个函数分别在两个cpp中被定义产生错误。

2、执行代码

内联inline类似于宏,使用inline时,代码在执行前,编译器先将调用的inline函数替换城那个函数的执行代码。

3、函数类型

inline函数用于定义函数。在形式上类似于一个函数,但在使用它时,仅仅只是做预处理器符号表中的简单替换,因此它不能进行参数有效性的检测,也就不能享受C++编译器严格类型检查的好处。

扩展资料:

内联函数的内涵:

比如 

int g(int x) 

return x + x; 

int f() 

return g(); 

这样f会调用g,然后g返回x + x给f,然后f继续把那个值返回给调用者。 

如果g是inline的话。f会被直接编译成。 

int f() 

return x + x; 

相当于把g执行的操作直接融合到f里。这样减少了调用g消耗的时间,但同时也增大了f的尺寸。 

这就是inline函数,也就是所谓的内联函数。 



查看完整回答
反对 2019-03-26
?
元芳怎么了

这是为了优化程序,让系统编译时节约时间。如果inline的函数太大就不可以了。关于节约时间的问题,在一般的小程序中看不出效果,要在大型的项目中才能感觉的出。

查看完整回答
反对 2019-03-26
  • 3 回答
  • 0 关注
  • 197 浏览

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信