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

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>
            黑人操亚洲美女惩罚| 精品动漫3d一区二区三区免费| 欧美啪啪一区| 欧美日韩精品高清| 欧美日韩一区二区在线播放| 欧美日韩一区二区欧美激情| 欧美日韩国产欧| 欧美午夜理伦三级在线观看| 国产精品福利av| 国产日韩精品一区二区三区 | 一区二区三区高清不卡| 夜色激情一区二区| 亚洲在线一区二区三区| 亚洲欧美日韩国产精品 | 99国产精品久久久久久久久久| 日韩系列欧美系列| 亚洲欧美日韩在线观看a三区| 午夜精品在线观看| 久久免费99精品久久久久久| 欧美**字幕| 亚洲看片网站| 亚洲一区在线播放| 久久精品免费播放| 欧美国产日韩一区二区三区| 国产精品xxxxx| 激情国产一区| 99伊人成综合| 性色av一区二区三区| 裸体素人女欧美日韩| 亚洲欧洲一区二区在线播放| aⅴ色国产欧美| 欧美一区二区三区四区夜夜大片| 久久久欧美精品| 欧美日韩精品一区二区在线播放| 国产欧美精品va在线观看| 亚洲第一偷拍| 亚洲欧美国产一区二区三区| 免费观看成人www动漫视频| 99热精品在线观看| 久久精品国产99| 欧美日韩亚洲一区二区三区在线 | 亚洲国产欧美日韩另类综合| 在线综合视频| 美日韩精品视频免费看| 国产精品久久77777| 亚洲国产精品va在线看黑人动漫| 在线视频精品一区| 免费看av成人| 亚洲午夜视频| 欧美成人dvd在线视频| 国产情人节一区| 一区二区冒白浆视频| 久久久久久午夜| 在线亚洲免费| 欧美成人一区二区三区片免费| 国产农村妇女毛片精品久久莱园子| 亚洲激情影院| 久久欧美肥婆一二区| 一区二区欧美精品| 欧美成人午夜激情| 黄网站免费久久| 羞羞色国产精品| 亚洲理论在线观看| 免费一级欧美在线大片| 国产综合色在线| 午夜精彩视频在线观看不卡 | 洋洋av久久久久久久一区| 久久久综合网站| 亚洲综合导航| 欧美日韩国产欧美日美国产精品| 在线精品福利| 久久野战av| 欧美在现视频| 国产精品自拍小视频| 亚洲伊人伊色伊影伊综合网| 欧美国产日韩一区二区在线观看 | 老司机午夜免费精品视频| 国产女主播一区二区三区| 中文av字幕一区| 亚洲国产影院| 免费亚洲一区二区| 亚洲第一视频网站| 久久亚洲影音av资源网| 欧美影视一区| 国产一区久久久| 欧美在线视频在线播放完整版免费观看 | 欧美国产欧美亚洲国产日韩mv天天看完整| 国产婷婷色一区二区三区在线 | 亚洲另类视频| 欧美国产亚洲视频| 久久综合伊人77777| 伊甸园精品99久久久久久| 久久青草福利网站| 欧美中文字幕久久| 韩日精品中文字幕| 看欧美日韩国产| 久久婷婷麻豆| 亚洲国产mv| 亚洲福利小视频| 欧美大片91| 一区二区三区.www| 一区二区av| 国产美女扒开尿口久久久| 欧美一区二区三区视频免费| 香蕉久久一区二区不卡无毒影院 | 亚洲人成网在线播放| 欧美久久电影| 亚洲一二三区在线| 亚洲影院在线| 国产在线播放一区二区三区| 巨乳诱惑日韩免费av| 久久永久免费| 日韩午夜电影在线观看| 99在线精品视频在线观看| 国产精品高潮呻吟久久av黑人| 性感少妇一区| 久久久久久久综合| 亚洲精品裸体| 日韩天堂在线视频| 国产精品一区二区视频| 久久综合精品一区| 欧美激情精品久久久久久| 亚洲无亚洲人成网站77777| 午夜精品久久一牛影视| 在线观看日韩av电影| 亚洲精品久久久久久久久久久| 国产精品xxxxx| 久久香蕉国产线看观看av| 免费影视亚洲| 午夜免费久久久久| 久久婷婷激情| 亚洲综合国产激情另类一区| 久久国产精品久久w女人spa| 亚洲精品国产精品国自产在线| 日韩视频精品| 狠狠综合久久av一区二区小说| 亚洲国内自拍| 国产欧美亚洲一区| 亚洲第一综合天堂另类专| 国产精品久久久999| 可以免费看不卡的av网站| 欧美日韩成人一区| 久久久久久穴| 欧美日韩精品免费看| 久久亚洲春色中文字幕| 欧美日韩精品高清| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美日韩三级| 欧美jizzhd精品欧美巨大免费| 欧美日韩综合在线| 欧美ab在线视频| 国产欧美亚洲日本| 亚洲精品国产日韩| 狠狠久久五月精品中文字幕| 一本色道久久加勒比精品| 亚洲第一区中文99精品| 亚洲在线观看视频网站| 亚洲精品日韩一| 欧美伊人久久久久久午夜久久久久| 一本色道久久88亚洲综合88| 久久国产精品久久久久久久久久| 亚洲性夜色噜噜噜7777| 老司机精品福利视频| 久久精品免费| 欧美亚男人的天堂| 91久久精品国产91性色tv| 狠狠综合久久av一区二区小说| 99精品99久久久久久宅男| 亚洲国产综合在线| 欧美在线视频播放| 午夜精品福利一区二区三区av | 亚洲美女色禁图| 久久久亚洲影院你懂的| 欧美专区日韩专区| 国产精品久久久久9999吃药| 最新日韩欧美| 亚洲激情视频在线观看| 久久精品三级| 久久大综合网| 国产精自产拍久久久久久| 99成人精品| 一区二区av在线| 欧美ab在线视频| 欧美大成色www永久网站婷| 激情久久久久久久| 午夜精品视频| 欧美亚洲一区二区三区| 国产精品av久久久久久麻豆网| 亚洲精品国产拍免费91在线| 亚洲日本一区二区| 欧美成人一二三| 欧美激情按摩| 在线欧美三区| 久久在线免费观看| 欧美成人日本| 91久久在线视频| 欧美大片网址| 亚洲精品视频免费观看| 一本一道久久综合狠狠老精东影业 | 老司机aⅴ在线精品导航|