Boost::Serialize がマップ、ベクター、リストなどの STL コンテナーでどのように機能するかを知る必要があります。
具体的には、実際のすべてのコンテナ データ自体の直前に、コンテナ全体のサイズを保存しますか?
STL コンテナーの大きさを知るために、そのサイズを読み取ることはできますか?
私は、Visual Studio 2010 で Win7、64 ビットを使用しています。
ありがとう。
Boost::Serialize がマップ、ベクター、リストなどの STL コンテナーでどのように機能するかを知る必要があります。
具体的には、実際のすべてのコンテナ データ自体の直前に、コンテナ全体のサイズを保存しますか?
STL コンテナーの大きさを知るために、そのサイズを読み取ることはできますか?
私は、Visual Studio 2010 で Win7、64 ビットを使用しています。
ありがとう。
ブーストシリアル化のソースコードは次のとおりです。httpstd::vector: //www.boost.org/doc/libs/1_38_0/boost/serialization/vector.hpp
std::sets:http ://www.boost.org/doc/libs/1_38_0/boost/serialization/set.hpp
std::lists:http ://www.boost.org/doc/libs/1_38_0/boost/serialization/list.hpp
std::vectorそれがすることはかなり明らかです。http://www.boost.org/doc/libs/1_38_0/boost/serialization/collections_load_imp.hpp実装ヘッダーファイルを見ると、次のように表示されます。
collection_size_type count;
//...
ar >> BOOST_SERIALIZATION_NVP(count);
load_collection関数内。std::listとシリアライザーの両方std::setがこれを直接呼び出します。