84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
环境是win10+VS2015int common_subsequence[1000][1000]声明在mian函数中,运行到这步栈溢出;int common_subsequence[100][100]声明在main函数中,不会发生栈溢出;int common_subsequence[1000][1000]声明为全局,不会发生栈溢出。究竟怎么回事?有什么建议吗
int common_subsequence[1000][1000]
int common_subsequence[100][100]
欢迎选择我的课程,让我们一起见证您的进步~~
windows下栈的大小默认是1mb,4*1000*1000约为4mb,所以调用main会发生栈溢出。
4*1000*1000
common_subsequence是自动变量,对象的内存分配会在函数开始前完成,也就是说溢出发生在main函数第一行代码执行之前。
建议用动态内存分配+智能指针,或者直接用容器类。
std::unique_ptr<int [][1000]> sequence(new int[1000][1000]); std::vector<std::vector<int> > sequence;
windows下栈的大小默认是1mb,
4*1000*1000
约为4mb,所以调用main会发生栈溢出。common_subsequence是自动变量,对象的内存分配会在函数开始前完成,也就是说溢出发生在main函数第一行代码执行之前。
建议用动态内存分配+智能指针,或者直接用容器类。