C++ 是否可以排除成员字段的强制转换?

C++ 是否可以排除成员字段的强制转换?,c++,C++,我一直在做一个数据加载程序和保存程序 保护程序使用以下内容: fstream.write((char*) &Object, sizeof(Object)); 对象有一个作为指针的字段,我想知道是否有办法避免保存指针 谢谢 对象有一个作为指针的字段,我想知道是否有办法避免保存指针 与你使用它的方式不同 如果您不能使用序列化库,则可以编写满足特定需要的函数 namespace MyApp { std::ostream& write(std::ostream& out,

我一直在做一个数据加载程序和保存程序

保护程序使用以下内容:

fstream.write((char*) &Object, sizeof(Object));
对象有一个作为指针的字段,我想知道是否有办法避免保存指针

谢谢

对象有一个作为指针的字段,我想知道是否有办法避免保存指针

与你使用它的方式不同

如果您不能使用序列化库,则可以编写满足特定需要的函数

namespace MyApp
{
   std::ostream& write(std::ostream& out, Object const& obj)
   {
      // Use ostream::write for the members of Object that you wish to save.
      // out.write(...);
      // out.write(...);

      return out;
   }
}
然后使用

MyApp::write(fstream, obj);

不。如果你需要序列化你的对象,你可以得到一个库来处理所有的数据,比如boost。不,没有办法做到这一点。使用反序列化库(如
boost::archive
)来控制序列化的内容和方式。