<分区>
我们在代码中声明了一个如下所示的数组。
数组将在堆栈本身上处理。
我们没有使用 malloc
或 new
char a[20000];
现在我们需要将其更改为 1800000(180kb)
而不是 20kb
。
如下所示:
char a[1800000];
我们只是用一些数据填充数组。 这是正确的做法吗?
我们可能面临的问题是什么? 我只是担心值(value)似乎太大了。 有没有更好的方法来绕过这种需求?
我在 solaris unix 平台上工作。
<分区>
我们在代码中声明了一个如下所示的数组。
数组将在堆栈本身上处理。
我们没有使用 malloc
或 new
char a[20000];
现在我们需要将其更改为 1800000(180kb)
而不是 20kb
。
如下所示:
char a[1800000];
我们只是用一些数据填充数组。 这是正确的做法吗?
我们可能面临的问题是什么? 我只是担心值(value)似乎太大了。 有没有更好的方法来绕过这种需求?
我在 solaris unix 平台上工作。
最佳答案
像这样声明的变量大小的显着增加会影响堆栈。我建议将其替换为 std::vector
,这将创建堆所需的大量内存。毕竟这是标记为 C++
。
关于c++ - 改变静态数组的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8265400/