如果我在Java中具有递归函数,则可以使用以下代码无限调用它:
void recfunction()
{
recfunction();
System.gc();
}
如何在C ++中做到这一点?
最佳答案
没有强制C ++编译器对递归函数执行尾调用优化的标准方法。
话虽如此,带有-O2的gcc8实际上会在可能的情况下执行尾部调用优化。
https://godbolt.org/z/tSDODA
关于c++ - 如何启用递归函数以避免堆栈溢出?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55734443/