如果我在这里和那里使用内联函数怎么办

What if i use inline function here and there

本文关键字:函数 怎么办 在这里 那里 如果      更新时间:2023-10-16

我知道使用内联函数是为了摆脱函数调用。

我看到使用内联函数是使用存储并保持堆栈更空的好方法。

在任何地方使用内联函数是否是一种好的编程实践。

我认为是这样,因为当函数很复杂时,编译器没有义务将内联函数用作内联函数,那么将这个小词inline附加到每个函数中会是一种不错的方法吗?

我的一般规则是当函数的内容小于或等于调用函数的开销时,使用inline函数。

一个例子是 gettersetter 方法。

程序正常运行后,我将瓶颈部分中的一些函数转换为使用inline。 但是,这是一种微优化,通常不会像重新设计算法那样节省大量成本。

正如其他人所说,内联函数对构建过程造成严重破坏,因为头文件已更改,并且必须重新生成头文件上的所有依赖项。 非内联函数只需要构建单个翻译单元。

inline 只是对编译器内联函数的提示。编译器还可以内联您在优化时未标记为内联的其他函数。使每个函数内联的问题是,整个函数需要位于标头中,以便可以从多个源文件调用它。这将增加编译时间。我的建议是忘记内联关键字的存在,直到您遇到真正的性能问题。