7

我对内联函数有疑问。内联函数不涉及任何函数调用,而只是在调用内联函数的地方替换函数定义。内联函数与宏不同,具有类型强制。如果递归函数内联会发生什么?

4

2 回答 2

5

“内联”不是保证,而是请求。

您的递归内联函数(通常)不会是内联的。

  • 正如一些评论者指出的那样,在某些特殊情况下(例如,使用编译器特定的编译指示)可以进行内
于 2013-04-09T18:09:09.323 回答
5

inline只是对编译器的建议,并不保证函数会被内联。

显然,编译器无法无限内联递归函数。它可能根本不内联它,或者它可能只内联几级。

于 2013-04-09T18:10:21.833 回答