вы можете использовать boost :: serialization для этого
вы должны добавить один метод к вашему объекту
template<class Archive>
void serialize(Archive & ar, const unsigned int version)
{
ar & this->foo & this->bar;
}
этот метод определяет, какой элемент должен храниться
после, для сохранения вашего объекта вы должны сделать:
std::ofstream ofs("filename");
boost::archive::binary_oarchive oa(ofs);
oa << data;
для чтения объекта, все так же,
std::ifstream ifs("filename");
boost::archive::binary_iarchive ia(ifs);
ia >> data;
учебник