qt中qvector的用法,vector重定义

QVector的基本用法QVector是用Qt封装所有数组。 例如,我们想要int型数组。 我们本来要写int array[10]。 我们可以在Qt上写q矢量int array (10 )。 分配值时,我们仍然可以保持array[5]=4。 如果想获取某个项目的值,也可以使用array[9]。 也就是说,原来的特性我们还可以使用。

QVector有什么好处?

使用count函数可以知道数组中包含多少个元素,从而更容易遍历。 原本必须预先定义大小,但使用QVector时最好也预先定义大小,但也可以不预先定义。

可以使用append函数或操作符将元素添加到数组的末尾,而不考虑溢出问题。

必须包含头文件:

#includeQVector

添加元素:

QVectorQString strArray;

Srarray.append(Hello ); //可以这样做

strArray’World!’ ; //也可以这样做

strArray’MyName”is”swdhlb ‘; //这样添加元素也可以

//目前,strArray共有五个字符串元素,strarray.count(==5

导线测量:

qectorqstring :3360迭代器;

for(ITER=Strarray.Begin ); iter!=strArray.end (; iter )

{

qDebug () *ITER ()0);

}

插入:

Strarray.insert(1,’这是在hello和world之间添加’)

删除:

Strarray.remove(1; //删除第一个元素,从0开始

strarray.remove (1,3 ); 从//1中删除三个要素

复制(替换) :

Strarray.replace(1,’ swdhlb ‘; //删除第一个元素,从0开始

如上所述,如果移动内存中的位置,append (和replace )中的两个函数以外的函数会变慢,因为矢量容器中的对象会多次移动。 如果想要可以在中部快速插入和删除的容器,请使用q列表或QLinkedList。

at ) )调用函数导入对象时,不使用“深度复制”(deep copy,因此比使用operator[] ) ) )进行导入更快。

data ) )函数,还可以访问存储在QVector中的数据。 此函数返回指向向量容器中第一个对象的指针。 这使您可以使用指针访问和修改向量容器中的对象。 可以使用指针将QVector向量容器传递给接收常规c数组的函数。

contains ) )函数用于确定向量容器中是否包含对象。

count ) )函数可以找到一个对象出现的次数。

resize ) )函数可以随时改变QVector向量容器的体积。 如果新向量容器的体积大于以前的体积,则QVector可能需要重新指定整个向量容器。 QVector通过提前分配大小是实际数据两倍的空间来减少重新分配的次数。

reserve ) )如果事先知道向量容器包含多少对象,则函数可以调用此函数来预分配一定内存大小的空间。

capacity ) )函数显示向量容器占用的内存的实际大小。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注