有没有办法确定我会在什么时候遇到堆栈溢出?
并不是的.当你耗尽堆栈空间时会发生堆栈溢出 - 但是......
我曾经遇到过的唯一一次是无限循环,或使用前面提到的200k缓冲区.
我发现我的应用程序更容易崩溃,而不是使用100%CPU永远循环并且必须被强行杀死(由于Windows缺少SSH,这是一个错误连接的远程服务器上的正确PITA)
一个粗略的准则:你认为你的递归函数可能会连续称自己超过10000次吗?或者你正在做一些愚蠢的事情,比如在堆栈上分配200k缓冲区?
如果是,请担心.
如果不是,继续进行更重要的事情.