指针数组的数组

Array of array of pointers

本文关键字:数组 指针      更新时间:2023-10-16

我有一个指针Particle*。我想要创建的是一个矩阵,其中每个单元格都包含一个指针。我试过了:

Particle*** particles=(Particle***)malloc(1000);
Particle p0(0,0,0);
particles[0][0]=ps.AddParticle(p0);

但当我尝试最后一条指令时,我出现了错误,因为我认为我的程序试图在允许的内存之外写入。

抱歉,但实际上我对C++不是很好。

有人能解释一下我该怎么做吗?

使用矢量代替

#include <vector>
struct Particle
{
    Particle(int a_){a=a_;}
    int a;
};
using namespace std;
int main()
{
    vector<vector<Particle*>> vPart;
    int nbLines=5;
    int nbColumns=10;
    for (int i=0;i<nbLines;++i)
    {
       vector<Particle*> vTmp(nbColumns,NULL);
       vPart.push_back(vTmp);
       for (int j=0;j<nbColumns;++j)
       {
           vPart[i][j]=new Particle(i*nbLines+j);
       }
    }
    return 0;
}

希望能有所帮助,