看书时,见到内连函数无法递归调用,怎么也不能理解。
何谓递归调用?为什么内连函数无法递归调用?
谢谢!

解决方案 »

  1.   

    inline函数实际上不是函数,而是相当于复合语句,由于递归调用需要用到堆栈作参数传递,而inline函数是用inline函数体来代替调用的语句,不存在参数压栈的过程,所以无法递归调用。
      

  2.   

    所谓递归,就是函数本身调用本身。而__inline函数是在调用它的地方用函数的代码代替,而不是解析为函数调用,如果在__inline 函数里递归调用,如你的递归有几十层,哪么替换就成了好几十个函数的代码。这是不明智的,还有以上的几个兄台的解释。
    我这是从我的观点来理解的,不知道对不对,还望高手赐教!!