QList 列表指针的 释放

时间:2023-03-08 23:43:26
QList 列表指针的 释放

1,使用qDeleteAll()

QList<T*> list;

qDeleteAll(list);

list = NULL;

QList<T*> *listp;

qDeleteAll(*list);

listp->clear();

listp = NULL;

2.通过遍历列表对列表一个一个的释放。

在释放指针的同时把值清空,赋值为BULL 避免野指针。

QList<T *> *qList = new QList<T *>  动态分配内存空间 不使用时需要释放

T *t = new T;

qList->append(t);

QList<t*>::iterator item = qList->begin();

            while(item != qList->end())
            {
                qList->removeOne(*item);
                T *index = (T*)*item;
                delete index;
                index = NULL;
                item++;
                qDebug()<< "dhsahdlhlas lish" << qList->length();
            }
            qList->clear();
            qList = NULL;