use*_*241 6 c++ serialization stl
是否可以序列化任何STL类,包括std :: string?我有一组std :: strings,我正在尝试将它们写入文件并将它们加载回std :: set.
Aby*_*byx 10
是的,这是可能的.例如,使用boost.serialization.
对于STL,请阅读相应的教程部分
使用boost :: serialization序列化STL类型的示例
#include <map>
#include <fstream>
#include <boost/archive/text_iarchive.hpp>
#include <boost/archive/text_oarchive.hpp>
#include <boost/serialization/map.hpp>
int main(int argc,char** argv) {
std::ofstream s("tmp.oarchive");
boost::archive::text_oarchive oa(s);
std::map<int,int> m;
m[1] = 100;
m[2] = 200;
oa << m;
}
Run Code Online (Sandbox Code Playgroud)
编译
g++ -lboost_serialization myfile.cc
Run Code Online (Sandbox Code Playgroud)
注意
#include <boost/archive/text_iarchive.hpp>必须是任何其他前boost系列化包括。