3.3.2 尾递归优化 (TCO)


文档摘要

3.3.2 尾递归优化 (TCO) 尾递归优化(Tail Call Optimization,TCO)不是语法糖,不是编译器的“善意提醒”,更不是函数式编程教科书里轻描淡写的注脚——它是栈内存与控制流之间一场静默而激烈的主权争夺战。当你写下 ,你交付给运行时的不仅是一条指令,而是一份契约:“请勿为我保留当前栈帧;我的计算已终结,后续工作可全权交由下一个调用接管。” 可惜,并非所有运行时都愿签署这份契约。JavaScript 引擎在严格模式下曾承诺支持 TCO,却因实现复杂性与调试兼容性争议悄然撤回;Python 明确拒绝;C/C++ 编译器虽在 下对简单尾调用做栈帧复用,却从不保证跨函数边界或间接调用;


发布者: 作者: 转发
评论区 (0)
U