QList 列表指针的 释放

Posted Andy5020

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;

 

以上是关于QList 列表指针的 释放的主要内容,如果未能解决你的问题,请参考以下文章

指向 QList 中元素的指针

将 QList 拆分为块、指针或引用?

请教关于QT中内存释放的问题

在第6731次释放指针后双重免费或损坏

如何正确地将对象/指针存储到 Qlist 中

Qt - 保持指向存储在 QList 中的内容的指针的最佳方法是啥?