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

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

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

Posted on 2011-04-19 22:49 RTY 閱讀(3870) 評論(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>
            女仆av观看一区| 欧美搞黄网站| 亚洲天堂av图片| 欧美日韩一区二区免费在线观看 | 欧美高清在线视频| 99精品国产在热久久婷婷| 亚洲精品九九| 欧美日韩国产经典色站一区二区三区| 亚洲精品永久免费| 在线亚洲激情| 国产在线一区二区三区四区| 久久亚洲综合色| 欧美顶级大胆免费视频| 亚洲综合999| 久久精品中文字幕免费mv| 亚洲国产精品传媒在线观看| 日韩亚洲一区二区| 国产一区二区三区在线免费观看| 美女久久网站| 欧美视频在线观看一区二区| 久久精品一区四区| 欧美全黄视频| 可以看av的网站久久看| 欧美精品一区三区| 欧美中文字幕| 欧美精品18videos性欧美| 久久福利毛片| 欧美日韩在线视频一区二区| 久久久久久久999精品视频| 免费观看不卡av| 羞羞漫画18久久大片| 蜜桃伊人久久| 欧美在线一级视频| 欧美日韩成人免费| 久热精品视频在线观看| 欧美日韩在线视频观看| 欧美成人首页| 国产日韩精品一区二区浪潮av| 欧美国产欧美亚洲国产日韩mv天天看完整 | 久久激五月天综合精品| 99精品视频免费| 久久久91精品国产一区二区三区| 亚洲一品av免费观看| 美日韩在线观看| 欧美在线一区二区| 欧美日韩另类在线| 欧美.www| 韩国三级电影久久久久久| 在线中文字幕日韩| 一区二区黄色| 欧美sm视频| 免费不卡欧美自拍视频| 国产精品影视天天线| 99在线视频精品| 亚洲美女免费精品视频在线观看| 久久国产加勒比精品无码| 西瓜成人精品人成网站| 欧美日韩美女在线| 亚洲日本va午夜在线影院| 亚洲国产一区二区三区在线播 | 久久综合色影院| 久久亚洲欧洲| 激情欧美一区二区三区| 欧美亚洲三区| 久久久噜噜噜久久中文字幕色伊伊| 欧美午夜宅男影院| 亚洲一级黄色片| 亚洲欧美日韩一区二区在线| 欧美日韩综合视频| 中国日韩欧美久久久久久久久| 亚洲视频大全| 国产精品永久免费在线| 欧美亚洲尤物久久| 久久综合久久综合久久| 黄色日韩网站视频| 久热精品在线| 亚洲国产精品久久精品怡红院 | 国产日韩精品一区二区| 久久成人精品电影| 欧美激情精品久久久久久久变态 | 国产精品视频大全| 午夜精品久久久久久久男人的天堂| 欧美在线高清| 1000部国产精品成人观看| 欧美激情二区三区| 一区二区国产精品| 久久久久久久久综合| 亚洲电影免费在线| 欧美日韩国产成人在线| 亚洲一区二区三区乱码aⅴ| 久久久久久日产精品| 亚洲人屁股眼子交8| 国产精品久久久久aaaa| 午夜视频在线观看一区| 欧美韩国一区| 亚洲欧美中文日韩在线| 在线观看久久av| 欧美日韩中文字幕| 久久gogo国模裸体人体| 亚洲人精品午夜| 羞羞漫画18久久大片| 亚洲国产一区在线观看| 国产精品a久久久久久| 久久久久这里只有精品| 一区二区电影免费观看| 麻豆9191精品国产| 亚洲一级电影| 亚洲欧洲美洲综合色网| 国产精品欧美一区喷水| 欧美国产免费| 欧美亚洲网站| 一本大道久久a久久综合婷婷| 久久美女艺术照精彩视频福利播放| 一本久久综合亚洲鲁鲁| 一区在线观看| 国产精品一区二区三区免费观看| 麻豆成人精品| 欧美一区二区三区免费视| 亚洲日本免费| 欧美二区在线看| 久久久999成人| 亚洲无人区一区| 亚洲人成7777| 亚洲国产二区| 国内精品视频666| 国产精品乱码妇女bbbb| 欧美日韩亚洲国产一区| 久久一区二区精品| 欧美在线视频全部完| 中文国产亚洲喷潮| 日韩视频精品| 亚洲日本欧美日韩高观看| 欧美成人一区二区| 久久综合色8888| 久久性天堂网| 久久久xxx| 久久婷婷激情| 久久久久久久久久久一区| 久久成人精品| 欧美一区深夜视频| 性欧美video另类hd性玩具| 亚洲深夜福利| 亚洲一品av免费观看| 在线亚洲免费| 亚洲一区在线直播| 亚洲欧美日韩一区二区在线| 亚洲欧美日韩一区在线观看| 亚洲视频免费在线观看| 亚洲午夜久久久久久久久电影院| 一本大道久久精品懂色aⅴ| 一本色道久久综合亚洲精品高清| 亚洲最快最全在线视频| 99视频精品全国免费| 亚洲午夜性刺激影院| 亚洲摸下面视频| 欧美一区二区三区的| 久久精品在线免费观看| 牛牛精品成人免费视频| 亚洲大片在线| 一区二区91| 性欧美超级视频| 久久亚洲影院| 欧美日韩亚洲91| 国产私拍一区| 最新国产の精品合集bt伙计| av成人动漫| 欧美专区第一页| 六月婷婷久久| 亚洲国产精品久久| 一本色道久久综合一区 | 亚洲第一区在线观看| 亚洲精品免费在线观看| 亚洲午夜精品久久久久久app| 性18欧美另类| 欧美大片免费观看| 国产欧美日韩不卡| 亚洲茄子视频| 久久精品国产精品亚洲综合| 欧美激情第9页| 亚洲视频精选| 欧美成人一区在线| 国产欧美日韩综合精品二区| 亚洲国产精品久久久久婷婷884 | 亚洲欧美一区二区原创| 久久久久国产成人精品亚洲午夜| 欧美国产另类| 亚洲女优在线| 欧美精品国产精品| 国产日韩亚洲欧美精品| 夜夜嗨一区二区| 久色婷婷小香蕉久久| 99v久久综合狠狠综合久久| 久久精品国产精品亚洲精品| 欧美日韩国产丝袜另类| 在线免费观看日韩欧美| 香港成人在线视频| 亚洲理论在线| 欧美成人中文字幕| 国产一区二区三区av电影| 亚洲一区二区三区成人在线视频精品 |