#include #include #include #include using namespace boost; using namespace archive; using namespace serialization; struct B{ template void serialize(Archive &ar,unsigned int){ ar & b; } int b; }; struct A{ template void serialize(Archive &ar,unsigned int){ ar & bptr & b; //ar & b & bptr; } B *bptr; B b; }; int main(){ { A a; a.b.b=123; a.bptr=&a.b; std::ofstream os; os.open("test.bin",std::ios::binary); binary_oarchive oa(os); oa << a; } { A a; std::ifstream is; is.open("test.bin",std::ios::binary); binary_iarchive ia(is); ia >> a; assert(a.bptr == &a.b); } }