【发布时间】:2011-04-25 04:57:54
【问题描述】:
如果你在 C/C++ 的 main 函数中写 int m[1000000]; ,它会得到一个堆栈溢出的运行时错误。相反,如果你写 vector<int> m; 然后 push_back 1000000 那里的元素,它会运行良好。
我很好奇为什么会这样。它们都是本地内存,不是吗?提前致谢。
【问题讨论】:
-
“本地”内存是什么意思?
-
你的问题是关于“C/C++”,但是你不能用C写vector
。“vector”是一个隐藏底层内存管理复杂性的C++类。
标签: c++ stack stack-overflow