C++的栈是有深度限制的,特此测试一下栈的深度。

实验环境:Lutece, Visual Studio 2017.

测试结果:

环境 Visual Studio 2017 Lutece
不在函数中另开内存 4791层 3.5e6-4e6层(占用内存64MB)
每次开100个char(100B) 3193层
每次开1000个char(1KB) 731层

测试代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
int ans = 0;
void test(int i)
{
if (i % 100 == 0)
cout << i << endl;
test(i+1);
ans+=i;
}

int main()
{
test(1);
cout << ans;
}