我有一个指针Particle*
。
我想要创建的是一个矩阵,其中每个单元格包含一个此指针。
我试过了:
Particle*** particles=(Particle***)malloc(1000);
Particle p0(0,0,0);
particles[0][0]=ps.AddParticle(p0);
但是当我尝试最后一条指令时出现错误,因为我认为我的程序试图在允许的内存之外写入。
很抱歉,但我对C ++实际上并不是很好。
有谁能解释我怎么能这样做?
答案 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;
}
希望有所帮助,