1

Boost::Serialize がマップ、ベクター、リストなどの STL コンテナーでどのように機能するかを知る必要があります。

具体的には、実際のすべてのコンテナ データ自体の直前に、コンテナ全体のサイズを保存しますか?

STL コンテナーの大きさを知るために、そのサイズを読み取ることはできますか?

私は、Visual Studio 2010 で Win7、64 ビットを使用しています。

ありがとう。

4

1 に答える 1

4

ブーストシリアル化のソースコードは次のとおりです。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がこれを直接呼び出します。

于 2012-11-01T14:49:32.840 に答える