组织复杂的地图数据结构

时间:2019-01-26 11:28:03

标签: c++ qt data-structures

我用Qt C ++编写,我想创建一些对象( ISaveFile 类型),该对象将在一段时间后将数据保存到文件中。另外,我希望我的数据按结构化顺序保存。例如

// After some user changes

file->beginGroup("Cool settings");
file->setValue("setpoint_1", value_1);
file->setValue("setpoint_2", value_2);

file->beginGroup("Nested setpoint_3");
file->setValue("par_1", value_1);
file->setValue("par_2", value_2);
file->endGroup(); // Nested setpoint_3

file->endGroup(); // Cool settings

(其中方法 setValue 接收 QVariant 作为值类型)

然后,文件对象将在一段时间后自动保存。

问题是:如何组织在文件内存储数据以减少所有嵌套地图的复杂性。

最快的解决方案之一-如果我想创建 ISaveFile 的后代JsonSaveFile,文件对象的所有者可以填充 QJsonObject ,然后将其传递到文件的地图,也没有问题。但这没有oop,如果将来我想写 XmlSaveFile 或其他的话该怎么办。

0 个答案:

没有答案