gpt4 book ai didi

c++ - 如何清理(析构函数)动态指针数组?

转载 作者:太空宇宙 更新时间:2023-11-04 14:58:32 26 4
gpt4 key购买 nike

Destructor 是否足够,还是我必须迭代才能删除新节点?

#include "stdafx.h"  
#include<iostream>
using namespace std;
struct node{
int row;
int col;
int value;
node* next_in_row;
node* next_in_col;
};

class MultiLinkedListSparseArray {
private:
char *logfile;
node** rowPtr;
node** colPtr; // used in constructor
node* find_node(node* out);
node* ins_node(node* ins,int col);
node* in_node(node* ins,node* z);
node* get(node* in,int row,int col);
bool exist(node* so,int row,int col);
//add anything you need
public:
MultiLinkedListSparseArray(int rows, int cols);
~MultiLinkedListSparseArray();
void setCell(int row, int col, int value);
int getCell(int row, int col);
void display();
void log(char *s);
void dump();
};

MultiLinkedListSparseArray::MultiLinkedListSparseArray(int rows,int cols){
rowPtr=new node* [rows+1];
colPtr=new node* [cols+1];
for(int n=0;n<=rows;n++)
rowPtr[n]=NULL;
for(int i=0;i<=cols;i++)
colPtr[i]=NULL;
}

MultiLinkedListSparseArray::~MultiLinkedListSparseArray(){ // is that destructor enough??
cout<<"array is deleted"<<endl;
delete [] rowPtr;
delete [] colPtr;
}

最佳答案

如果您在这些数组上插入了对象指针(最初您将它们初始化为 NULL),则需要迭代它们以删除每个对象。

一如既往,一个新的一个删除。

关于c++ - 如何清理(析构函数)动态指针数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2882721/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com