我有以下情况:
例如:
Video1:
Stream1:
format mpeg
bitrate 700kb/s
resolution 1024x764
Stream2:
format mpeg
bitrate 600kb/s
resolution 800x600
Video2:
Stream1:
format mpeg
bitrate 700kb/s
resolution 1024x764
Stream2:
format mpeg
bitrate 600kb/s
resolution 800x600
这是我考虑将数据保存在:
QVector<QVector<QStringList>>
QStringList
是值对(格式,mpeg)。
内部QVector
包含流的多个对。
外部QVector
包含所有内容,即每个条目/索引都是单个视频文件的数据。
我不确定这是否是保存数据的最佳方式我认为集合内的集合内的集合不会非常有效。
关于替代品的任何意见?
答案 0 :(得分:6)
为什么不按需要编写课程?
class Stream
{
Format format;
Resolution res;
Bitrate br;
};
class Video
{
QVector<Stream> v_stream;
};
class VideoContainer
{
QVector<Video> v_video;
};
答案 1 :(得分:2)
QVector需要连续定位数据,如经典C阵列。出于一般目的,推荐使用QList而不是QVector,它还提供基于指针的快速基于索引的访问。
答案 2 :(得分:1)
对于字段值对,使用QMap而不是StringList,这将更容易访问。如果您只使用文字属性,可能会QMap<QString,QVariant>
或QMap<QString,QString>
。
此外,正如三氯生所说,使用QList
代替QVector
。所以最后的样子是QList<QList<QMap< QString,QVariant > > >