1

Boost::Serialization ライブラリを C++ で使用しています。オブジェクトを復元する場合は、次のコードを使用します。

// ostr is of type std::ostringstream

std::vector<Certificate *> newCRL;
{
    std::istringstream ifs(ostr.str());
    boost::archive::text_iarchive ia(ifs);
    ia >> newCRL;
}

ostr の長さが短い場合、元のオブジェクトを正常に復元できますが、問題は長い ostr にあります。ostr が大きい場合、実行時に以下の例外がスローされます。

std::length_error: basic_string::resize

std::istringstream ifs(ostr.str());この例外の原因だと思います。大きなオブジェクトを再構築するために使用できる、これに関する回避策はありますか?

4

0 に答える 0