数据结构/容器选择

nf3*_*743 2 c++ collections qt

我有以下场景:

  • 来自多个视频文件的数据需要保存在数据结构/集合中.
  • 视频文件可以包含1到多个视频流.
  • 每个流都有一个字段和值对.

例如:

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
Run Code Online (Sandbox Code Playgroud)

这是我考虑将数据保存在:

QVector<QVector<QStringList>>
Run Code Online (Sandbox Code Playgroud)

QStringList值对在哪里(格式,mpeg).

Inside QVector保存了流的多对.

外部QVector保存所有内容,即每个条目/索引是单个视频文件的数据.

我不确定这是否是保存数据的最佳方式我认为集合内的集合内的集合不会非常有效.

对替代品的任何意见?

Don*_*alo 6

为什么不按需要编写课程?

class Stream
{
    Format format;
    Resolution res;
    Bitrate br;
};

class Video
{
    QVector<Stream> v_stream;
};

class VideoContainer
{
    QVector<Video> v_video;
};
Run Code Online (Sandbox Code Playgroud)