64,648
社区成员
发帖
与我相关
我的任务
分享
#include <fstream>
#include <hash_map>
#include <boost/archive/text_oarchive.hpp>
#include <boost/archive/text_iarchive.hpp>
#include <boost/serialization/string.hpp>
#include <boost/serialization/hash_map.hpp>
#include <iostream>
using namespace std;
using namespace stdext;
class user
{
private:
friend class boost::serialization::access;
template<class Archive>
void serialize(Archive & ar, const unsigned int version)
{
ar & m_id;
}
public:
string m_id;
user(){};
user(string id):m_id(id){};
};
#define mymap hash_map<string,user>
BOOST_CLASS_TRACKING(user, boost::serialization::track_never)
BOOST_CLASS_TRACKING(mymap, boost::serialization::track_never)
class application
{
public:
void load(string filepath)
{
std::ifstream ifs((char *)(filepath.c_str()), std::ios::binary);
boost::archive::text_iarchive ia(ifs);
mymap mus;
ia >> mus;//1.如果不取消此行的注释,则会编译失败,但这行正是我需要的东西
}
void save(string filepath)
{
std::ofstream ofs((char *)(filepath.c_str()));
boost::archive::text_oarchive oa(ofs);
mymap mus;
oa << mus;//2.如果不取消此行的注释,则会编译失败,但这行正是我需要的东西
}
};
int main() {
return 0;
}