在2D向量中跳跃

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

我对2D向量感到疯狂!

经过数小时的尝试,我终于想出了如何在编译器中初始化其中的一个num.resize(3, std::vector<unsigned short>(9));

现在有问题...使用这种初始化方法,我创建了三个单独的向量,并且然后将它们放置到了gheter中,所以我不能做这样的事情:*(&val - 9)val在哪里unsigned short& val = num[1][1];如果我想跳到num [0] [1]

在2D数组中,它可以工作,因为我向后跳了9个地址,但现在显然不起作用,因为num [1]不连续到num [0]

有没有办法初始化我的2D向量,使其像2D数组一样?或使用val向后跳转9个地址的任何方式。

我希望我已经清楚了,...对不起,我的英语不好;)

c++ vector 2d memory-address
1个回答
-1
投票
建议您仔细阅读此link,以确切了解实现动态数组的机制要达到可接受的分摊空间和时间复杂度。

我希望这会有所帮助。

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