c++语言 中,内联是什么,怎么用,详细加分

2024-12-29 04:29:04
推荐回答(3个)
回答1:

有时候在程序中有一些包含语句非常少的小操作,如计算两个整数之中的较小值。可以将其定义为函数。定义内联函数就解决了上述问题。若一个函数定义为inline函数,则在编译时,它将在函数的每个调用点被“内联地”展开,从而消除了普通函数调用的额外开销。但是调用inline函数仍然会进行函数类型检查,是函数调用的语义,因此比宏更安全。
在函数定义或声明中的返回类型前加关键字“inline”,就将函数指定为内联的:
inline int min(int v1,int v2){return(v1inline关键字对编译器来说只是一个建议,是否采用由编译器决定。因为复杂的函数,如递归函数,并不适合在调用点展开;函数体庞大的函数在调用点展开则会导致代码膨胀。因此,内联函数inline只适用于很小的且被频繁调用的函数。inline函数的一个缺点就是可执行文件变大。

回答2:

被定义为内联的函数在被调用的地方直接展开。一般是该函数在程序中使用频率比较高的时候才定义为内联函数。有点相当于宏,宏也是在调用处直接展开,但宏是在预处理进行的。

另外,内联函数内尽量简单,最好不要出现比较大的循环、延时等。

回答3:

inline 只是在连接时有区别,它是将代码直接放在调用内联函数位置,不用每次都call on 和call back ;速度快了。在写函数时前加上inline就行了,不过inline 函数最好不要超过五行,里面不要有循环,不要效果几乎没有!!!