可能重复:
我应该何时为函数/方法编写关键字“内联”?
所以这是一个困扰我一段时间的问题,我无法得到明确的答案。我的理解是,一个好的编译器通常会意识到内联函数既安全又有利,如果打开优化,它将内联所有此类函数,因为它们被明确标识为内联函数由程序员决定。此外,编译器将识别何时内联函数不安全/不明智,并且在这种情况下将简单地忽略程序员对内联函数的请求。
因此,我想知道将函数明确声明为内联函数有什么好处?只要打开优化,编译器就会内联它认为内联的所有函数,并且只内联那些函数。
由于嵌套的 h 文件,我发现了一些关于内联保护免受多个定义的讨论,但肯定 #ifdefine'ing 标头源代码是更好的做法,并且再次使关键字内联无效?