Я пишу в 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 или другие в будущем.