簡體   English   中英

如何啟用遞歸函數以避免堆棧溢出?

[英]How to enable a recursive function to avoid stack overflow?

如果我在Java中具有遞歸函數,則可以使用以下代碼無限調用它:

void recfunction()
{
    recfunction();
    System.gc();
}

如何在C ++中做到這一點?

沒有強制C ++編譯器對遞歸函數執行尾調用優化的標准方法。

話雖如此,帶有-O2的gcc8實際上會在可能的情況下執行尾部調用優化。

https://godbolt.org/z/tSDODA

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM