在我的程序中,我有一个带有以下构造函数的类:
pp = new Particle*[maxN]
在一个函数中,我具有:
// create the new particle and fill with data
pp[n] = new Particle;
pp[n]->charge = charge;
pp[n]->px = px;
pp[n]->py = py;
pp[n]->pz = pz;
// store the new particle pointer in the array
//...
问题是我不知道如何编写最后一条指令的代码,即
// store the new particle pointer in the array
你能帮我吗?
答案 0 :(得分:1)
问题是我不知道如何编写最后一条指令的代码,即
// store the new particle pointer in the array
您已经在第一行完成了该操作
pp[n] = new Particle;
new Particle
创建具有动态存储的Particle
对象,表达式的结果是指向该对象的指针。 pp[n] = ...
将指针分配给n
所指向的数组的索引pp
。
PS。像这样的类中仅有裸露的拥有者指针,这是一个糟糕的设计。为避免内存泄漏和不确定的行为,建议改用容器。