首页 > 技术知识 > 正文

Qt可变数组与数组

软件开发过程中经常使用数组存储数据,使用数组非常方便快速,可以通过下标快速的增删改查。但是使用数组有个问题,就是数组的空间需要提前开辟好,当我们不知道自己需要存储多少数据时就需要提前开辟一个很大的数组,或者存储空间不够时重新开辟新的数组,但是提前开辟一个很大的数组会浪费空间,重新开辟操作有很耗时,这时候就需要使用到可变数组。 数组例子:

int main(int argc, char *argv[]) { int vector[1]; for(int i = 0;i < 10;i++) { vector[i] = i; } return 0; }

运行后: Qt可变数组与数组 运行时会报错,这是因为开辟了两个空间的数组,确用十个导致内存越界

QVector: int main(int argc, char *argv[]) { QVector<int> vector; for(int i = 0;i < 10;i++) { vector.append(i); } foreach (auto i, vector) { std::cout << i << “\n”; } return 0; }

Qt可变数组与数组1

根据代码和运行结果可见,QVector不需要初始化大小。可以随着需要动态改变空间大小。

猜你喜欢