C 语言是否支持尾递归优化?
尾递归优化,一种可以提高程序性能的技术通过在递归期间消除不必要的堆栈帧,这是开发人员梦寐以求的功能。但是 C 在这个部门中地位很高吗?
认识编译器守护者
不用担心,因为当前所有主流 C 编译器都支持尾调用优化。这包括像以下这样的坚定支持者:
命令优化
释放尾递归优化的力量,只需释放编译器中的优化野兽:
见证优化
渴望无可否认的证据?采用以下任意策略:
注意事项:析构函数暴露
析构函数,就像不受欢迎的聚会客人一样,可以粉碎尾递归的梦想。如果析构函数冒险太接近,要求在尾部调用之前执行,优化就会投降。
考虑修改变量和临时变量的范围,在返回舞蹈开始之前将它们发送出去。这个舞蹈可能会复活你的尾递归愿望。
其他花絮
以上是C 支持尾递归优化吗?的详细内容。更多信息请关注PHP中文网其他相关文章!