#include  < iostream >
#include 
< sstream >
#include 
< boost / archive / binary_iarchive.hpp >
#include 
< boost / archive / binary_oarchive.hpp >
#include 
< boost / serialization / utility.hpp >

using   namespace  std;

class  Data
{
  friend 
class  boost::serialization::access;
  _int64 m_data;
  template 
< class  Archive >

  
void  serialize( Archive &  ar,  const  unsigned  int  version )
  {
    ar 
&  m_data;
  };

public :
  Data() : m_data( 
0  ) {};
  
const  _int64 &  getData()  const  {  return  m_data; };
  
void  setData( _int64 val ){ m_data  =  val; }
};



int  _tmain( int  argc, _TCHAR *  argv[])
{
    
//  序列化对象
    ostringstream oss;
    boost::archive::binary_oarchive oar( oss );
    Data data;
    
const  Data &  data_freeze  =  const_cast < Data &> ( data );
    data.setData( 
1000000000000000000  );
    oar 
<<  data_freeze;
    data.setData( 
4000000000000000000  );
    oar 
<<  data_freeze;
    cout 
<<   " serialize: len: "   <<  oss.str().size()  <<   " \n   data: "   <<  oss.str()  <<  endl;

    
//  反序列化
    istringstream iss( oss.str() );
    boost::archive::binary_iarchive iar( iss );
    Data data1;
    iar 
>>  data1;
    cout 
<<   " data:  "   <<  data1.getData()  <<  endl;
    iar 
>>  data1;
    cout 
<<   " data:  "   <<  data1.getData()  <<  endl;
    getchar();
    
return   0 ;
}


感觉还不错, 如果将其加入网络数据处理部分应该挺好的, 还有待其他方面测试。