在QT中,是否有一个用于double、float、int等的动态数组.即QDoubleArray

In QT, is there a dynamic array for double, float, int... ect .. ie QDoubleArray?

本文关键字:int 动态 数组 QDoubleArray float 是否 有一个 double 用于 QT      更新时间:2023-10-16

在QT中是否存在用于值的动态存储?

即:

QDoubleArray x;
x.append(4.6);
x.append(4.8);
x.append(5.2);
//x.count() = 3 

在QT中,QStringList是一种特殊情况,它是唯一可以被视为像QList<QString>这样的通用容器的特殊化的类型。它的存在主要是因为处理字符串列表是开发中的一个常见问题,因此它提供了一些QList所没有的有用方法。

QT文档通常建议使用QList类:

QList<double> x;
x.push_back(4.6);
x.push_back(4.8);
x.push_back(5.2);

文件上写着:

对于大多数目的,QList是正确使用的类。其基于索引API比QLinkedList的基于迭代器的API更方便通常比QVector更快,因为它存储项目的方式在内存中。它还扩展到可执行文件中更少的代码。

如果你需要一个真正的链表,并保证时间不变列表中间的插入和项的迭代器而不是索引,请使用QLinkedList。

如果你想让这些物品占据相邻的存储器位置,使用QVector。

QVector<double> x;
x.push_back(4.6);
x.push_back(4.8);
x.push_back(5.2);
x.size() is 3