gpt4 book ai didi

kotlin - Kotlin 中的 tailrec 有什么意义?

转载 作者:IT老高 更新时间:2023-10-28 13:41:09 28 4
gpt4 key购买 nike

tailrec 优化存在尾递归的函数。为什么编译器不直接优化它?

C 编译器针对尾递归进行了优化。您不必将该方法标记为具有尾递归。编译器只是注意到最后一个操作是递归的。就是这样。

为什么会存在这个看似过多的关键字?我错过了什么吗?纯粹是为了编译器的方便,而不是为了用户?

最佳答案

关键字告诉编译器函数的实现需要是尾递归的,如果函数实际上不是尾递归的,编译器会报错。它可以保护用户免受函数实现的更改导致其不再是尾递归,并导致性能意外下降(或由于堆栈溢出错误导致生产完全失败)的情况。

关于kotlin - Kotlin 中的 tailrec 有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51638557/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com