在 C++ 中,当我使用确定大小的数组时,如:int a[10000];
在函数中作为局部变量,允许的大小小于我将其声明为全局变量时的大小。
我知道这是由于函数的堆栈大小。
但是 vector、list、queue、stack、priority_queue、map 等容器呢?当像 int a[10000]
这样的局部变量时,它们是否受到限制?
最佳答案
std::array
具有与 C 风格数组相同的空间限制。所有其他标准容器都动态分配内存,因此不受堆栈大小的限制。
关于C++ 本地容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39535912/