C ++结构,类似于矢量,但会自动调整大小

问题描述 投票:0回答:1

我正在为“走廊”中的空间单元格增长模拟。我从一行中的一定数量的单元格开始(即走廊的“宽度”),然后让它们以随机的方式沿走廊的“长度”向下生长。因为我需要能够通过走廊上的所有单元格访问所有单元格,所以我始终使用2d向量(即,其元素再次为矢量的向量)网格并将我的单元格保存在其中。

现在的问题是,根据当前的模拟,我不知道细胞需要沿着走廊生长多远,即我不知道二维网格所需的“长度”。 (因为每次运行都会随机变化)为了“增长”我的单元格,即在网格上放置新对象,我需要访问特定的网格点,但是如果我不知道最大值。所需的长度,但我不能在开始时启动长度足够的向量。

是否有某种结构,可以像矢量一样通过索引访问每个插槽,但是我不需要一开始就确定它有多大? (我知道使用vector时,我不需要一开始就指定长度,但是我并不总是使用append,因为有时网格中存在间隙,所以我需要从一开始就可以访问特定的索引) 。

[对不起,如果我对问题的表述不够清楚,请告诉我您是否有想法或问题不清楚。谢谢!

c++ vector modeling
1个回答
0
投票

是否有某种结构,可以像矢量一样通过索引访问每个插槽,但是我不需要一开始就确定它有多大?]

是。 std::vector类似于该结构。您可以调用push_back将大小增加1,或调用resize将大小增加任意量。初始化时无需知道大小。

© www.soinside.com 2019 - 2024. All rights reserved.