我只看到了这个缺点:你可以获得 StackOverflow :) 为什么不只使用堆?
在 Java、C、C++ 中,函数的参数在堆栈上传递。函数体内的普通变量是在堆栈中创建的。
据我所知,每个线程的堆栈是有限的,有一些默认值,但相对较低:1-8 Mb。为什么不使用堆而不是堆栈。两者都在内存中,只是操作系统从地址 A 到 B 是堆,从 C 到 D 是堆栈。
有可变参数。它说有 10 个变量,每个变量 4 字节。如果您阅读 11 比您可能会读取一些数据“内存”垃圾,并且可能正是您想要进行黑客攻击的数据,或者您可能会遇到分段错误......如果操作系统检测到您是坏孩子。:) - 所以安全不能成为使用 Stack 的理由。