我对内联函数有疑问。内联函数不涉及任何函数调用,而只是在调用内联函数时替换函数定义。与宏不同,内联函数具有类型强制。如果递归函数内联会发生什么?
"inline"不是保证,而是请求。
你的递归内联函数不会(通常)是内联的。
- 正如一些评论者指出的那样,在特殊情况下(例如使用特定于编译器的pragmas),可以内联。
inline
只是对编译器的一个建议,并不保证函数将被内联。
显然,编译器不能无限内联递归函数。它可能根本不内联,也可能只内联几层。