Организация сложной картографической структуры данных - PullRequest
0 голосов
/ 26 января 2019

Я пишу в 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 в качестве типа значения)

И после этого файл объект сохранит его автоматически через некоторый промежуток времени.

И вопрос : как организовать хранение данных внутри файла, чтобы уменьшить сложность вложенной карты.

Одно из самых быстрых решений - если я хочу создать JsonSaveFile, потомка ISaveFile , владелец объекта файла может заполнить QJsonObject напрямую, а затем передать его в файл карты, и никаких проблем.Но ему не хватает опа, и что если я захочу написать XmlSaveFile или другие в будущем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...