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

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>
            亚洲精品乱码久久久久久| 欧美区一区二| 国产欧美一区二区精品秋霞影院 | 欧美女同在线视频| 亚洲精品欧美| 亚洲久久成人| 国产精自产拍久久久久久| 欧美一区二区三区四区在线| 午夜精品久久久久久久蜜桃app| 国产农村妇女毛片精品久久莱园子| 午夜精品久久久久久久99热浪潮| 宅男精品视频| 麻豆乱码国产一区二区三区| 国产亚洲毛片在线| 久久国产天堂福利天堂| 久久国产精品99精品国产| 伊人精品视频| 99国产精品久久久久久久成人热| 欧美日韩在线视频一区二区| 午夜精品久久久久久99热| 小黄鸭精品aⅴ导航网站入口| 狠狠色狠色综合曰曰| 欧美激情中文不卡| 国产精品白丝黑袜喷水久久久| 久久久人成影片一区二区三区| 久久综合激情| 亚洲一级一区| 久久精品首页| 亚洲尤物在线| 美女精品自拍一二三四| 亚洲制服欧美中文字幕中文字幕| 久久午夜精品| 欧美不卡高清| 欧美一区二区国产| 欧美96在线丨欧| 欧美呦呦网站| 欧美久久久久久| 久久视频在线看| 国产精品天天摸av网| 欧美高清视频在线播放| 国产精品亚洲综合一区在线观看| 欧美成人一区二区在线| 国产欧美在线观看| 日韩亚洲一区二区| 欧美一区二区三区在线免费观看 | 亚洲激情啪啪| 先锋a资源在线看亚洲| 99精品免费网| 欧美aaaaaaaa牛牛影院| 久久国产精品亚洲77777| 亚洲一区免费在线观看| 亚洲国产第一页| 亚洲欧美日韩国产一区二区| 99视频精品免费观看| 久久国产欧美精品| 久久国产精品99国产| 欧美性色aⅴ视频一区日韩精品| 欧美肥婆bbw| 一区二区亚洲| 久久久久欧美精品| 久久精品一区| 国产婷婷一区二区| 亚洲欧美日本伦理| 久久er精品视频| 国产精品久久婷婷六月丁香| 日韩手机在线导航| 国产精品99久久久久久宅男 | 欧美大香线蕉线伊人久久国产精品| 欧美日韩中文在线| 一个人看的www久久| 麻豆精品在线观看| 欧美国产大片| 99re这里只有精品6| 欧美理论在线| 亚洲美女在线看| 亚洲曰本av电影| 国产欧美一区二区在线观看| 欧美在线观看天堂一区二区三区| 久久久精品性| 亚洲高清在线视频| 欧美.www| 一区二区三区视频观看| 欧美一级欧美一级在线播放| 国产伦精品一区二区三区视频孕妇 | 亚洲第一区在线观看| 国产精品美女午夜av| 亚洲伊人伊色伊影伊综合网| 欧美一级一区| 国模一区二区三区| 可以看av的网站久久看| 亚洲激情综合| 午夜国产精品影院在线观看| 国产在线国偷精品产拍免费yy| 久久九九久久九九| 亚洲日本欧美| 久久国产精品毛片| 亚洲电影视频在线| 欧美日本精品一区二区三区| 亚洲综合国产| 亚洲一区二区视频在线| 久久久久国产精品一区| 激情久久久久久| 欧美成人精品三级在线观看| 一本色道**综合亚洲精品蜜桃冫| 欧美伊人久久大香线蕉综合69| 狠狠色狠狠色综合人人| 欧美日韩视频在线一区二区观看视频| 亚洲欧美大片| 亚洲日本视频| 老鸭窝91久久精品色噜噜导演| 亚洲国产精品va在看黑人| 国产精品xxxav免费视频| 欧美一级欧美一级在线播放| 国产亚洲欧美一区在线观看| 久久久久久伊人| 亚洲香蕉在线观看| 亚洲高清电影| 欧美伊人久久久久久久久影院 | 欧美~级网站不卡| 亚洲一区免费在线观看| 亚洲第一视频网站| 久久午夜精品一区二区| 亚洲欧美日韩国产一区二区| 亚洲欧洲一区二区天堂久久 | 国内激情久久| 国产精品久久久久久久久免费桃花| 久久久久一区二区三区四区| 欧美成人影音| 亚洲视频精选在线| 亚洲国产另类久久精品| 狠狠色噜噜狠狠狠狠色吗综合| 欧美日韩一区二区高清| 欧美成人日韩| 久久香蕉国产线看观看av| 香蕉成人久久| 欧美亚洲一区三区| 亚洲视频精品| 一本色道久久综合亚洲精品高清| 亚洲精品美女免费| 亚洲国产视频a| 亚洲丰满少妇videoshd| 欧美高清你懂得| 欧美大片免费久久精品三p| 久久躁狠狠躁夜夜爽| 久久久久久久久久久久久女国产乱| 午夜影院日韩| 欧美在线观看视频一区二区三区 | 亚洲天堂av图片| 99v久久综合狠狠综合久久| 亚洲精品久久久久久久久| 亚洲国产欧美日韩| 亚洲精品老司机| 一区二区欧美激情| 午夜精品福利在线| 欧美一级欧美一级在线播放| 久久国产精品电影| 久久五月婷婷丁香社区| 在线综合亚洲| 99爱精品视频| 亚洲乱码国产乱码精品精98午夜| 麻豆freexxxx性91精品| 免费不卡亚洲欧美| 欧美日韩高清在线观看| 欧美日韩伦理在线免费| 国产精品免费观看在线| 国产日韩欧美在线播放不卡| 国产一区二区三区丝袜| 亚洲国产成人在线播放| 中国亚洲黄色| 久久精品一区二区国产| 欧美69wwwcom| 一本一本久久a久久精品综合麻豆| 亚洲校园激情| 久久躁日日躁aaaaxxxx| 欧美另类极品videosbest最新版本| 欧美午夜精品一区二区三区| 激情久久久久| 亚洲午夜日本在线观看| 久久综合久久综合久久综合| 亚洲国产婷婷香蕉久久久久久99| 夜夜夜久久久| 久久天天躁夜夜躁狠狠躁2022| 欧美日韩国产精品一区| 欧美日韩直播| 国产精品久久网站| 亚洲黄色在线看| 午夜精品久久久久| 亚洲国产精彩中文乱码av在线播放| 日韩视频第一页| 久久人人爽人人| 国产精品久久久久久久久久免费| 在线观看三级视频欧美| 亚洲综合国产| 亚洲激情在线视频| 欧美在线综合| 国产精品美女主播在线观看纯欲| 亚洲日本在线观看| 久久久久久久激情视频| 一区二区三区日韩欧美精品| 蜜桃av一区二区|