私はC++で書かれた反復アルゴリズムを持っています。私はyaml-cppを使用しています。反復ごとに、YAML::Emitterオブジェクトにデータを送信します。アルゴリズムが終了したら、YAML :: Emitter :: c_str()を使用して基になるバッファーをofstreamに書き込みます。
ただし、バッファをファイルに数百回の反復ごとに増分的に書き込み、増分ごとにYAML::Emitterオブジェクトから書き込まれたデータをクリアすることをお勧めします。これには2つの理由があります。
1)プログラムが予期せず終了した場合に備えて、ディスク上の出力に(可能な限り)アクセスできるようにしたい。
2)YAML :: Emitterオブジェクトは自己拡張し、メモリを無駄にしたくありません。
これについて行くための最良の方法は何ですか?