成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Qt智能指針使用指南 幫助篇

移動開發
Qt智能指針使用指南 幫助篇,為友們分享,字啊本文中,我們一起來了關于指針的知識。先來卡本文。

本篇文章介紹的是Qt智能指針使用指南 幫助篇,Qt提供了很多智能指針的類,比較常見的有QPointer, QSharedDataPointer ,QSharedPointer,QWeakPointer和QScopedPointer等等,它們被引入的Qt版本即描述如下:

QPointer (4.0) 已經過時,可以被QWeakPointer所替代,它不是線程安全的。

QSharedDataPointer (4.0) -- 提供對數據的COPY-ON-WRITE以及淺拷貝,提供對數據(而不是指向數據的指針)的線程安全的保護。(注:提供對數據的線程安全保護要結合QsharedData來完成),它是線程安全的。

QSharedPointer (4.5)-- 實現了引用計數的可共享資源的強類型指針,它是線程安全的。

QWeakPointer (4.5)-- 實現了引用計數的可共享資源的弱類型指針,它是線程安全的。

QScopedPointer (4.6)-- 實現了非引用計數的獨享資源的強類型指針,它是線程安全的。

strong pointer :在有它所指向的資源的所有權期間,永遠不會放棄這個所有權。

weak pointer:在有它所指向的資源的所有權期間,允許外界釋放其資源從而使其放棄這個所有權。

QSharedPointer有著與std::auto_ptr類似的特性,而最大的區別在于它不能轉讓所有權而auto_ptr可以。事實上,scoped_ptr永遠不能被復制或被賦值!

下面代碼使用QSharedPointer,QWeakPointer和QScopedPointer的示例:

  1. int main(int argc, char *argv[])     
  2. {     
  3.     QCoreApplication a(argc, argv);     
  4.     //raw pointer     
  5.     QString *p = new QString("hello");     
  6.     //Implements non-reference-counted strong pointer     
  7.     QScopedPointer<QString> pScopedPointer(new QString("Scoped"));     
  8.     // Build error, can NOT be shared and reference-counted     
  9.     //QScopedPointer<QString> pScopedPointerpScopedPointer2 = pScopedPointer;     
  10.     //Implements reference-counted strong sharing of pointers     
  11.     QSharedPointer<QString> pSmart(new QString("Smart"));     
  12.     QSharedPointer<QString> pSmart2;     
  13.     pSmart2 = QSharedPointer<QString>(new QString("smart 2"));     
  14.     QSharedPointer<QString> pSharedPoninter;     
  15.     // can be shared safely and reference-counted     
  16.     pSharedPoninter = pSmart;     
  17.     qDebug() << *(pSmart.data());     
  18.     qDebug() << *(pSmart2.data());     
  19.     qDebug() << *(pSharedPoninter.data());     
  20.     QTimer *timer = new QTimer();     
  21.     QWeakPointer<QTimer> pWeakPointer = timer;     
  22.     //Weak pointer's resources can be deleted from outside world     
  23.     delete timer;     
  24.     if (pWeakPointer.isNull())     
  25.     {     
  26.         qDebug() << "contained QObject has been deleted";     
  27.     }     
  28. }   

小結:關于Qt智能指針使用指南 幫助篇的內容介紹完了,希望本文對你有所幫助!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2010-01-27 14:18:41

Android智能指針

2010-02-02 15:01:59

C++成員函數指針

2024-02-01 12:09:17

Optional容器null

2024-02-28 09:03:20

Optional空指針Java

2015-07-27 11:34:03

Linux內核指針

2022-09-29 09:07:08

DataGrip數據倉庫數據庫

2021-09-09 17:05:36

C++智能指針語言

2021-08-11 09:01:48

智能指針Box

2010-02-05 14:36:20

C++智能指針

2012-12-26 12:41:14

Android開發WebView

2011-07-21 14:57:34

jQuery Mobi

2009-12-28 17:40:10

WPF TextBox

2021-07-27 10:09:27

鴻蒙HarmonyOS應用

2010-09-06 14:24:28

ppp authent

2010-12-17 10:07:59

2023-11-17 11:48:08

智能指針C++

2009-12-31 17:17:45

Silverlight

2021-01-12 15:19:23

Kubernetes

2025-07-02 09:00:24

ES運維JSON

2017-01-04 15:22:57

TrimPath模板引擎
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一区二区三区久久精品 | 免费毛片www com cn | 午夜国产在线 | 国产一级片久久久 | 久久久久久久久久久久亚洲 | 美国十次成人欧美色导视频 | 天天草草草| 久久综合狠狠综合久久综合88 | 亚洲国产网| 大学生a级毛片免费视频 | 国产成人免费视频网站高清观看视频 | 三级视频在线观看电影 | 国产欧美精品一区二区色综合朱莉 | 99精品国自产在线 | 伦理二区| 又爽又黄axxx片免费观看 | 国产成人精品一区二区三区在线观看 | 精品一区二区三区四区五区 | 欧美一区在线视频 | 久久久久亚洲精品 | 日韩av啪啪网站大全免费观看 | 99色综合 | 欧美成人a∨高清免费观看 91伊人 | 在线免费观看黄色 | 国产高清免费 | 三级成人在线 | 色婷婷久久久亚洲一区二区三区 | 视频一区在线 | 99久久国产免费 | 精品美女久久久 | 成人免费毛片在线观看 | 国产一区二区三区久久久久久久久 | 日韩不卡在线 | 国产欧美精品一区二区三区 | 国产欧美精品一区二区三区 | 黄色免费av | 四虎影院在线免费观看 | 成人一级毛片 | 欧美精品一区在线发布 | 国产免费一区二区三区 | 国产精品久久久久影院色老大 |