指针数组的数组

时间:2013-12-09 17:41:27

标签: c++

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

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

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

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

有谁能解释我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

使用矢量

#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;
}

希望有所帮助,