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 ) )函数显示向量容器占用的内存的实际大小。