QT中QVector的使用
来源:互联网 发布:金猴闹春 知乎 编辑:程序博客网 时间:2024/06/05 03:05
当我们想用数组时,但是又不知道数组的大小,数组的大小是根据实际情况变化的,不确定的,这是我们就要为数组动态分配空间,这时,我们可以考虑两种情况:(1)在c++中使用new()和delete(),在c中使用malloc和free。(2)使用Vector容器
后者的使用更方便些,这里我主要介绍下QT中的QVector。
首先,引入#include <QVector>
在不知道要分配空间多少的情况下,我们先这样在***.h文件中声明
QVector<int> refCount;
QVector<int> refedCount;
QVector<QStringList> TempDpuName;
QVector<QStringList> TempFullDpuName;
在***.cpp文件中我们一定能够动态获取QVector要占据空间的大小,它是一个变量
如果我们要使用operator[](即下标[]),这样我们就可以像数组一样去操作了,我们就必须预先分配空间
如://提前分配空间
QStringList zeroList;//空的list
for(int i=0;i<fileNum;i++)
{
refedCount.append(0);
TempDpuName.append(zeroList);
TempFullDpuName.append(zeroList);
}
这有这样了,我们才可以使用下面的表示形式:
for(int j=0;j<refCount[i];j++)
{
tempString = dbList.at(j);
dpuNameRefed = tempString.split("[").at(1).split("]").at(0);
for(int k=0;k<fileNum;k++)
{
if(dpuNameRefed==fileList.at(k).baseName())
{
refedCount[k]++;//这里以下标表示
TempDpuName[k].append(fileName);//这里以下标表示
TempFullDpuName[k].append(dbList.at(j));//这里以下标表示
}
}
}
但如果直接使用.append(),而不是使用refedCount[k],就可以不用预先分配空间,因为.append()就在分配空间
- QT中QVector的使用
- Qt的QVector类
- Qt QVector清空的方法对比
- Qt中丰富的容器类---数组QVector、链表QLinkedList、映射表QMap、哈希表QHash
- QT中QVector报错“index out of range”
- Qt 之 QVector
- Qt---QVector排序
- Qt容器QVector
- Qt 之 QVector
- Qt 之 QVector
- 自学QT值QVector和qFill的用法
- QVector使用经验
- QVector 类使用
- QVector
- QVector
- 再谈QVector与QByteArray——Qt的写时复制(copy on write)技术
- Qt修炼手册8_常用的容器类QVector和QList
- Qt之丰富的容器类---数组QVector、链表QLinkedList、映射表QMap、哈希表QHash
- 冒泡排序(C++)
- 黑马程序员——四、java基础之多线程(7)
- request/response总结
- LeetCode - Search a 2D Matrix
- UDID替代方案
- QT中QVector的使用
- Intent and Intent Filters
- railway stack
- 大连东软实训报告书
- Starling使用总结
- 单元测试工具 CUnit 简介
- LA4080 Warfare And Logistics
- 金融行业里的加解密问题(你能解答得了吗?)
- linux下memcached的安装以及使用