我有一个高度格式化的文件,其中包含我经常使用的大量数据,因此我将其存储到 std::map 并使用 boost::serialization 库对其进行序列化。序列化代码如下所示:
boost::iostreams::filtering_ostream ofs {};
ofs.push (boost::iostreams::zlib_compressor ());
ofs.push (boost::iostreams::file_sink (file_name));
boost::archive::binary_oarchive oa {ofs};
oa << my_map;
但每次我可能只需要地图的一部分,比如某个键值对。所以我想知道我是否可以从文件中部分反序列化地图并只检索我指定的对?这样我就不必将整个文件读入内存。