最近在做基于多目标的蚁群算法在云计算的虚拟机放置的应用,涉及到具体实现过程时的数据结构时,经常需要设计出包含双重指针的结构体指针,而进行分配和释放内存时,会碰到多层开辟空间和不能完全释放内存的问题。如下面例子:
typedef struct Solution
{
int **bivX;
int *bivY;
int IsDominated;/0代表未被标记为dominated
}SolutionTotal;
SolutionTotal *STotal;
NA=10;
M=20;
/开辟空间
STotal=new SolutionTotal[M*NA];STotal是单指针
for(i=0;i<M*NA;i++)
{
STotal[i].bivX=new int*[numVM];///STotal[i].bivX是双重指针
for(j=0;j<numVM;j++)
{
STota