stack overflow常见解决方法

再度Miren
2019-10-09 / 0 评论 / 471 阅读 / 正在检测是否收录...


stack overflow一般都是堆栈内存不够

情况一:递归次数过多

解决办法:用循环来代替递归一般百分之九十能解决堆栈溢出的问题

情况二:创建的局部变量过多

解决办法:这种情况一般就是因为局部变量没有及时清除导致的,一般也是递归,要么把局部变量改成全局变量,要么传入引用(就是再数据类型的前面加以个&,这样不用去重新再子函数里面去开辟一个空间给变量了)要么用指针

情况三:数组开的过大

解决办法:用 关键字 new 来动态的分配一个空间给数据
例如: int a = new int[20000],这样也可以一定程度的解决问题
这种方法也可以提高运行速度,但是会牺牲一些内存:
这是我再leetcode上写的程序,上面一个是用了new的
在这里插入图片描述


0

评论 (0)

取消