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;

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM