c++ - 改变静态数组的大小

标签 c++ c

<分区>

我们在代码中声明了一个如下所示的数组。 数组将在堆栈本身上处理。 我们没有使用 mallocnew

在堆上分配任何内存
char a[20000];

现在我们需要将其更改为 1800000(180kb) 而不是 20kb。 如下所示:

char a[1800000];

我们只是用一些数据填充数组。 这是正确的做法吗?

我们可能面临的问题是什么? 我只是担心值(value)似乎太大了。 有没有更好的方法来绕过这种需求?

我在 solaris unix 平台上工作。

最佳答案

像这样声明的变量大小的显着增加会影响堆栈。我建议将其替换为 std::vector,这将创建堆所需的大量内存。毕竟这是标记为 C++

关于c++ - 改变静态数组的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8265400/

相关文章:

c++ - Exe 二进制文件仅在 IDE 之外崩溃

c - 关于C程序中的.c文件和.h文件?

c - 使用 scanf_s 读取一个字符

c++ - 具有自动默认和移动构造函数的不可复制类

c++真的很困惑链接错误

C++ : friend declaration ‘declares a non-template function

c++ - enable_if 类型的大小未知

c - MPI_Barrier 和 MPI_Gather 使用小数据集还是大数据集?

c - 指针和内存范围

c - 我的(密码)功能有什么问题吗?