首页 > 解决方案 > 如何将指向数组的指针存储在数组中?

问题描述

在我的程序中,我有一个带有以下构造函数的类:

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

你能帮助我吗?

标签: c++arraysclasspointers

解决方案


问题是我不知道如何编写最后一条指令的代码,即

// store the new particle pointer in the array

您已经在第一行完成了该操作:

pp[n] = new Particle;

new Particle创建Particle具有动态存储的对象,表达式的结果是指向该对象的指针。在 指向的数组pp[n] = ...的索引处分配指针。npp

PS。在这样的类中拥有裸露的指针是一个糟糕的设计。为避免内存泄漏和未定义行为,建议改用容器。


推荐阅读