gpt4 book ai didi

c++ - C++中分配的大小限制?

转载 作者:太空宇宙 更新时间:2023-11-04 15:02:08 25 4
gpt4 key购买 nike

我用它在 cpp 中分配一个二维数组:

int s[n][2];

但似乎当 n 非常大(高达 1e6)时,这会产生运行时错误(退出代码:11)。

如何解决这个问题?

最佳答案

那不是动态分配。此外,如果 n 是一个变量,它甚至不是有效的 ANSI C++,因为您不能声明条目数可变的数组。

要正确地动态分配,请考虑使用 std::vector

#include <vector>
//...
// Simulate s[n]
std::vector<std::vector<int>> s(n, std::vector<int>(2));
//..
// You can now use s similar to a 2 dimensional array.

如果出于某种原因,您需要二维数组的数据是连续的,请考虑此处的答案:

how to create a contiguous 2d array in c++?

关于c++ - C++中分配的大小限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31014310/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com