青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 319, comments - 22, trackbacks - 0, articles - 11
  C++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

QList內存釋放 (收集轉載及編輯)

Posted on 2011-04-19 22:49 RTY 閱讀(3861) 評論(0)  編輯 收藏 引用 所屬分類: Qt

QList<T> 的釋放分兩種情況:

1.T的類型為非指針,這時候直接調用clear()方法就可以釋放了,看如下測試代碼

#include <QtCore/QCoreApplication>#include <QList>#include <QString>
int main(int argc, char *argv[]){    QCoreApplication a(argc, argv);    typedef struct _test    {        int id;        QString name;        QString sex;    }Por_test;    QList<Por_test>  slist;    for (int i=0;i<100000;i++)    {        Por_test s;        s.id = 1;        s.name = QString("hello World!");        s.sex = QString("男");        slist.append(s);    }    slist.clear();    return a.exec();}

將上面代碼中的slist.clear(); 注釋掉,內存顯示為如下(任務管理器里的截圖)

111

如不去掉的話,內存顯示如下圖

22222

2.T的類型為指針的情況,這時候直接調用clear()方法將不能釋放,先看代碼

#include <QtCore/QCoreApplication>#include <QList>#include <QString>int main(int argc, char *argv[]){    QCoreApplication a(argc, argv);    typedef struct _test    {        int id;        QString name;        QString sex;    }Por_test;    QList<Por_test *>  slist;    for (int i=0;i<100000;i++)    {        Por_test *s = new Por_test();        s->id = 1;        s->name = QString("hello World!");        s->sex = QString("男?");        slist.append(s);    }//    qDeleteAll(slist);    slist.clear();    return a.exec();}

 

上面代碼運行后的內存情況如下圖

3333

說明當T的類型為指針時,調用clear()方法并不能釋放其內存

此時void qDeleteAll ( const Container & c )方法將派上用場了,將上面代碼中的注釋去掉以后,

再次運行程序,此時的內存情況如下圖

4444

通過對比靚圖,可以看出,內存已經釋放,我們再來看下qt助手中qDeleteAll 方法的說明

void qDeleteAll ( ForwardIterator begin, ForwardIterator end )

Deletes all the items in the range [beginend) using the C++ delete operator. The item type must be a pointer type (for example, QWidget *).

Example:

 QList<Employee *> list; list.append(new Employee("Blackpool", "Stephen")); list.append(new Employee("Twist", "Oliver")); qDeleteAll(list.begin(), list.end()); list.clear();

Notice that qDeleteAll() doesn't remove the items from the container; it merely calls delete on them. In the example above, we call clear() on the container to remove the items.

This function can also be used to delete items stored in associative containers, such as QMap and QHash. Only the objects stored in each container will be deleted by this function; objects used as keys will not be deleted.

See also forward iterators.

void qDeleteAll ( const Container & c )

This is an overloaded member function, provided for convenience.

This is the same as qDeleteAll(c.begin(), c.end()).

 

上面qDeleteAll 方法的說明,已經很清楚了,如果T為指針類型時,釋放內存須在clear方法前加上qDeleteAll 方法。

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            免费不卡欧美自拍视频| 国产精品网站一区| 亚洲黄色有码视频| 欧美理论在线| 亚洲视频免费在线观看| 欧美激情国产日韩| 久久精品国语| 亚洲在线成人| 91久久久久久久久| 精品不卡视频| 国产视频在线一区二区| 欧美三日本三级少妇三2023| 欧美.日韩.国产.一区.二区| 久久噜噜噜精品国产亚洲综合| 亚洲视频一区二区| 久久亚洲风情| 欧美激情一区| 亚洲精品久久| 欧美日韩福利| 欧美日韩一级大片网址| 国产精品久久国产精品99gif| 国产精品久久久久av| 一本色道久久加勒比精品| 亚洲理论电影网| 亚洲欧美国产高清va在线播| 欧美一区二区三区在线观看| 久久精品国产久精国产爱| 亚洲图中文字幕| 亚洲欧美日韩国产综合精品二区| 亚洲在线黄色| 每日更新成人在线视频| 亚洲福利视频免费观看| 亚洲精品影视在线观看| 亚洲娇小video精品| 亚洲视屏在线播放| 国产精品午夜电影| 欧美亚洲午夜视频在线观看| 免费久久99精品国产自在现线| 欧美成人网在线| 日韩手机在线导航| 亚洲欧美日韩成人| 国产一区亚洲一区| 亚洲最新合集| 亚洲私人影院| 国产一区亚洲一区| 亚洲国产精品一区制服丝袜| 亚洲女同精品视频| 久久综合九色综合久99| 国产精品伦理| 亚洲黄色成人久久久| 亚洲激情视频网| 国产精品大全| 欧美精品午夜| 亚洲综合大片69999| 精品1区2区| 91久久久久久久久| 国产精品欧美日韩一区| 美女诱惑黄网站一区| 欧美日韩国产一级片| 欧美伊人久久久久久久久影院| 欧美在线播放高清精品| 欧美高清视频一区二区| 国内激情久久| 亚洲国产导航| 99热在线精品观看| 欧美精品久久久久久久久久| 午夜精品剧场| 一区二区欧美日韩视频| 毛片av中文字幕一区二区| 亚洲先锋成人| 亚洲欧洲精品一区二区三区波多野1战4| 欧美手机在线视频| 欧美sm视频| 久久精品动漫| 精品999日本| 一区二区三区四区五区视频| 精品999在线播放| 亚洲欧美成人精品| 国产精品国内视频| 欧美成人一区二区在线| 国产欧美亚洲日本| 亚洲免费一级电影| 欧美a级片网| 欧美在线国产| 日韩亚洲精品视频| 1024国产精品| 亚洲电影自拍| 欧美国产一区二区在线观看| 久久精品免费看| 国产精品久久久久一区| 亚洲精品欧美| 久久久国产精品一区| 久久久久一区二区三区四区| 国产美女一区二区| 久久不见久久见免费视频1| 欧美日韩精品系列| 亚洲日本中文字幕免费在线不卡| 国产日韩在线看| 亚洲国产精品久久91精品| 久久国产夜色精品鲁鲁99| 久久精品卡一| 国产一区二区日韩精品| 久久夜色精品国产| 久久夜色精品国产欧美乱极品 | 欧美婷婷在线| 亚洲一区二区三区四区中文| 欧美高清在线视频| 亚洲成人中文| 欧美日韩亚洲一区| 日韩亚洲精品视频| 亚洲视频一区二区| 欧美一区二区免费观在线| 狠狠干狠狠久久| 91久久亚洲| 亚洲精品1区2区| 久久性天堂网| 欧美黄免费看| 亚洲精品乱码久久久久久蜜桃麻豆 | 欧美在线视频播放| 久久久一二三| 亚洲国产视频一区二区| 欧美成人tv| 久久精品免费电影| 国内精品久久久久久久影视蜜臀| 久久人人爽人人爽| 亚洲国产精品综合| 亚洲电影在线看| 老司机亚洲精品| 欧美激情视频在线免费观看 欧美视频免费一 | 一区二区不卡在线视频 午夜欧美不卡在 | 另类春色校园亚洲| 免费短视频成人日韩| 亚洲欧洲精品一区二区三区不卡 | 亚洲国产精品一区在线观看不卡 | 久久久久久久久蜜桃| 久久久久久穴| 国产一区av在线| 久久影音先锋| 宅男66日本亚洲欧美视频| 欧美专区18| 亚洲精品国精品久久99热| 欧美午夜视频| 久久夜色精品国产| 亚洲一区二区三区在线| 美女日韩在线中文字幕| 亚洲尤物精选| 亚洲欧洲综合| 国产一区二区三区免费在线观看| 久久一区欧美| 在线综合+亚洲+欧美中文字幕| 欧美日韩在线看| 在线看欧美视频| 国产精品久久久99| 久久躁日日躁aaaaxxxx| 一区二区三欧美| 亚洲福利视频免费观看| 欧美在线短视频| 亚洲激情六月丁香| 国语自产偷拍精品视频偷| 欧美精品少妇一区二区三区| 久久精品一区蜜桃臀影院| 亚洲人成久久| 欧美一区二区在线免费播放| 一区二区三区我不卡| 国产视频在线一区二区| 国产精品久久久久一区二区三区| 欧美一级免费视频| 日韩西西人体444www| 欧美亚洲尤物久久| 亚洲视频一区在线观看| 亚洲精品国产视频| 亚洲电影视频在线| 国产一区二区三区在线观看免费视频| 欧美破处大片在线视频| 欧美mv日韩mv国产网站app| 久久噜噜噜精品国产亚洲综合| 欧美一区二区三区视频| 99在线精品视频| 洋洋av久久久久久久一区| 亚洲大片在线| 亚洲第一精品福利| 亚洲第一网站| 亚洲国内自拍| 亚洲国产网站| 亚洲欧洲日本专区| 亚洲国产日本| 亚洲国产成人久久综合| 亚洲国产成人在线| 亚洲老司机av| 一区二区三区三区在线| 国产精品99久久久久久白浆小说| av成人免费观看| 亚洲一区二区三区四区中文| 亚洲欧美欧美一区二区三区| 午夜激情久久久| 久久国产视频网| 久久亚洲综合网| 欧美激情亚洲综合一区| 欧美日韩日韩| 国产女同一区二区|