c++ - 我不明白如何在 C++ 中创建和使用动态数组

标签 c++ arrays

好的,我有;

int grid_x = 5
int * grid;
grid = new int[grid_x];
*grid = 34;
cout << grid[0];

第 3 行应该创建一个包含 5 个元素的数组吗?或者用数字 5 填充第一个元素?

第4行填充了第一个元素,剩下的怎么填充?

没有第 4 行,第 5 行显示为“-842150451”。

我不明白发生了什么,我正在尝试使用用户指定的 x 和 y 值创建一个二维数组,然后用用户指定的数值一个一个地填充每个元素。我上面的代码是尝试首先使用一维数组进行尝试。

最佳答案

创建 int 动态(可调整大小)数组的默认 C++ 方法是:

std::vector<int> grid;

当标准库已经为您封装时,不要玩弄不安全的指针和手动动态分配。

要创建一个包含 5 个元素的 vector ,请执行以下操作:

std::vector<int> grid(5);

然后您可以使用 [] 访问其各个元素:

grid[0] = 34;
grid[1] = 42;

可以在后面添加新元素:

// grid.size() is 5
grid.push_back(-42);
// grid.size() now returns 6

咨询reference docs查看 std::vector 上可用的所有操作。

关于c++ - 我不明白如何在 C++ 中创建和使用动态数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25626506/

相关文章:

c++ - 如何检查变量是否有资源?

c - 尝试将标准输入读取到二维动态分配的数组时出现段错误

javascript - p5.j​​s 无法读取数组的随机值

java - 如何使用FOR循环将null移动到java中的数组末尾?

c++ - 运行时检查失败 #02,随机数添加到数组

java - 在 Java 中使用方法输入和输出变量数组?

c++ - 在 C++ 中保留配置设置的正确设计是什么?

C++ : Appending text in form

c++ - 按值从 vector 中获取对象

c++ - 删除鼠标滚轮 QGraphicsview 上的滚动功能