QT,QVector 基本用法,遍歷 例項講解

2021-08-16 19:02:44 字數 1293 閱讀 2829

qvector,是qt對所有陣列的封裝,比如我們想要乙個int型別陣列,我們原先會寫int array[10],我們在qt裡可以寫qvector array(10),賦值的時候,我們依然可以照舊array[5]=4;想獲取某一項的值也還可以array[9],也就是說,原來的特性我們還可以用。

那麼qvector有什麼好處呢?

我們可以用count函式獲知陣列中有多少個元素,方便遍歷,原先我們必須預定義好大小,而用qvector我們雖然最好也先定義好大小,但是預先不定義也可以。

需要包含標頭檔案:

#include

新增元素:   

qvectorstrarray;         

strarray<<"world!"; //也可以這樣        

strarray<<"myname"<<"is"<<"leo";//也可以這樣加上個元素        

//現在strarray總共有5個字串元素,strarray.count()==5     

遍歷:qvector::iterator iter;  

for (iter=strarray.begin();iter!=strarray.end();iter++)  

插入:strarray.insert(1,"這就是在hello和world之間新增");

刪除:strarray.remove(1); //刪除第乙個元素,從0開始

strarray.remove(1,3); //從1開始,刪除3個元素

複製(取代):

strarray.replace(1,"leo"); //刪除第乙個元素,從0開始

呼叫at()函式來讀取物件會比使用operator()讀取速度更快,因為這不會使用深度複製(deep copy)。

呼叫data()函式也可以訪問儲存在qvector的資料。這個函式會返回指向向量容器的第乙個物件的指標。這樣,你就可以使用指標來訪問和修改向量容器內的物件。你可以使用指標將乙個qvector向量容器傳遞給接收普通c++陣列的函式。

contains()函式是用來查詢向量容器內是否含有某個物件。

count()函式可以找出某個物件出現的次數。

resize()函式可以在任何時候改變qvector向量容器的體積。如果新的向量容器體積比以前的要大,qvector也許需要重新分配整個向量容器。qvector會預先分配兩倍於實際資料的大小空間,從而減少再分配的次數。

reserve()

函式,如果你事先知道向量容器大概包含多少個物件,你可以呼叫這個函式來預先分配一定的記憶體大小空間。

capacity()函式會告訴你向量容器所佔記憶體的實際大小空間。

各種遍歷用法

4 普通屬性 public string execute 5 自定義物件 public string execute 6 list 普通屬性 public string execute 或者 6 list 自定義物件屬性 public string execute 或者 7 陣列 普通屬性 publ...

各種遍歷用法

4 普通屬性 public string execute 5 自定義物件 public string execute 6 list 普通屬性 public string execute 或者 6 list 自定義物件屬性 public string execute 或者 7 陣列 普通屬性 publ...

python基本用法 Python基本用法總結

python 的設計具有很強的可讀性,易於使用。這裡對python基本用法做乙個總結介紹。一 變數型別 1 變數賦值 python中的變數賦值不需要型別宣告,每個變數在使用前都必須賦值,變數賦值之後才會被建立。使用等號進行變數的賦值。2 多個變數賦值 為多個變數賦值時或進行列表內資料的交換時,可以使...