您好我有一个关于在C++中使用矢量的问题,我正在研究通过随机运动模拟通过容器的粒子运动的问题。我需要添加和去除粒子,因为它们符合或不符合某些标准,为此我发现矢量类非常方便,但是我对C++很陌生,并且存在我需要考虑的效率问题。std ::矢量尺寸,“俄罗斯方块”形状允许?
我定义的二维数组是限定为矩形还是正方形?我只需要在每个容器中存储粒子的位置。我害怕的是我的矩阵看起来像这样:
| | | | |
| | | | |
| | | | |
| | | | |
为4x4的情况。随着柱的进入是每个箱/容器中的粒子的位置和不同于箱的粒子的数量,我不知道这样的事情是否可能:
| | | | |第一个垃圾箱中有4个粒子
| | |在第二个仓中有2个粒子,占用的内存比上面的少2倍
| | | | | | | | | | | | | | | | |这个很多在第三个斌等等。
我还需要删除行中的元素(减小行大小)或添加行中的元素(增加行大小)或列中,这取决于我实现算法的方式,如果您可以事先提醒我如果有多个维度的向量处理时,有常见的错误,因为我相信做一个,是新的编程语言:)
向量只有一个维度。如果你喜欢(“锯齿”),你可以有一个矢量矢量,或者对多维(“矩形”)数组使用Boost.MultiArray。 –