У меня есть итерационный алгоритм, написанный на C ++.Я использую yaml-cpp .На каждой итерации я отправляю данные в объект YAML :: Emitter.Когда алгоритм завершается, я использую YAML :: Emitter :: c_str () для записи основного буфера в поток.
Однако я бы предпочел записывать буфер в файл постепенно, каждые несколько сотен итераций, и при каждом увеличении очищать записанные данные из объекта YAML :: Emitter.Для этого есть две причины:
1) Если программа неожиданно завершает работу, я хочу иметь доступ (как можно больше) к выходным данным на диске.
2) Объект YAML :: Emitter саморасширяется, и я не хочу тратить впустую память.
Как лучше всего это сделать?