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

區分 Qt QHash 和QMap

移動開發
QMap是一個很有用的數據結構。它以“鍵-值”的形式保存數據。在使用的時候,通過提供字符標示(鍵)即可得到想要的數據。關于QHash,那么看本文的介紹吧。

本文介紹的是Qt QHash QMap的區別,關于容器類可以查閱更多的資料,首先我們先把QHash QMap區分開來。內容如下。

QMap提供了一個從類項為key的鍵到類項為T的直的映射,通常所存儲的數據類型是一個鍵對應一個直,并且按照Key的次序存儲數據,這個類也支持一鍵多值的情況,用類QMultiMap

QHash具有和QMap幾乎完全一樣的APi,此類維護這一張哈希表,表的大小和數據項是自適應的,QHash是以任意的順序住址他的數據,,當然了他也是可以支持一鍵多值的,QMultiHash

兩種之間的區別是:

QHash查找速度上顯著于QMap

QHash以任意的方式進行存儲,而QMap則是以key順序進行存儲.

Qhash 的鍵類型必須提供operator==()和yige 全局的qHash(key)函數。而QMap的鍵類型key必須提供operator<()函數.

他們同樣也是有兩種風格的迭代容器。用來進行遍歷的。

STL 風格的

QMap<key,T>  QMap<key,T>::const_iterator QMap<key,T>::iterator//同樣中間那個也是只讀的,最后那個是讀寫的。下面以一個例子來進行說明:

  1. #include <QDebug> 
  2. int main(int argc, char *argv[])  
  3. {  
  4.     QMap<QString, QString> map;  
  5.     map.insert("beijing", "111");  
  6.     map.insert("shanghai", "021");  
  7.     map.insert("tianjin", "022");  
  8.     map.insert("chongqing", "023");  
  9.     map.insert("jinan", "0531");  
  10.     map.insert("wuhan", "027");     
  11. QMap<QString, QString>::const_iterator i;  
  12.     for( i=map.constBegin(); i!=map.constEnd(); ++i)  
  13.         qDebug() << i.key() <<"        " << i.value();     
  14.        
  15.     QMap<QString, QString>::iterator mi;  
  16.     mi = map.find("beijing");  
  17.     if(mi != map.end())  
  18.         mi.value() = "010";  
  19.     QMap<QString, QString>::const_iterator modi;  
  20.     qDebug() << "";  
  21.     for( modi=map.constBegin(); modi!=map.constEnd(); ++modi)  
  22.         qDebug() << modi.key() <<"        " << modi.value();     
  23.     return 0;  

小結:關于QtQHash QMap的區別,相信你看完之后,應該很了然一新了。如果你需要對內存分配做優化,Qt的容器提供了三大內存分配函數,reserve(size),顯示預分配size的內存; capacity(),返回已分配內存;squeeze()釋放所有的未占用的內存;當你知道QHash的大小時,可以使用reserve函數預先分配內存。

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

2011-06-22 13:27:04

QT QMap

2021-12-29 18:32:51

IaaSPaaS云計算

2011-06-30 17:51:17

QT 元類型 線程

2024-12-16 17:00:00

并行并發Java

2024-09-03 15:14:42

2025-04-23 08:45:00

悲觀鎖樂觀鎖并發控制機制

2011-04-02 09:17:38

2011-03-03 15:32:51

Qt-Quick

2011-06-30 09:46:01

QT 顯示視頻 linux

2015-04-17 11:25:59

云存儲云備份IaaS

2020-06-16 15:40:32

閉鎖柵欄線程

2018-02-07 07:28:02

網線布線雙絞線

2011-06-23 13:38:27

QT 元對象 信號

2011-06-23 13:25:42

QT 源碼 窗口

2010-04-09 17:36:37

2023-01-13 11:27:13

戰略平臺Forrester

2022-02-18 00:15:58

Linux指令CPU

2011-06-09 11:11:35

QT 靜態庫 動態庫

2020-11-09 14:07:53

PyQtQt編程

2017-03-18 16:28:40

人工智能機器學習深度學習
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一区二区在线视频 | 国产一级免费视频 | 午夜亚洲| 一片毛片| 亚洲精品欧洲 | 日韩欧美在线视频 | 青青草国产在线观看 | 国产一级一级国产 | 久久久国产精品网站 | 欧美狠狠操 | 精品一二区 | 欧美中文在线 | 亚洲精品电影网在线观看 | 亚洲精品日本 | 成人精品视频在线观看 | av中文字幕在线播放 | 久久精品国产一区二区三区 | www九色 | 中文字幕av一区二区三区 | 久久久综合网 | 在线一区视频 | 国产激情片在线观看 | 超碰操| 9999在线视频 | 久久精品av麻豆的观看方式 | 视频国产一区 | 国产精品久久久久久网站 | 91久久久久久久 | 视频一区在线 | 精品国产一区二区三区观看不卡 | 久久网日本 | av三级在线观看 | 欧美视频免费在线 | 国产一区二区三区视频 | 欧美网站一区 | 日韩一区二区黄色片 | 91精品国产91久久综合桃花 | 四虎在线观看 | 一区二区不卡高清 | 久久久亚洲 | 青青草社区 |