嘿,我知道只要你已经为它指向的对象定义了序列化函数,boost 就会自动序列化指针,但是
如果我想编写一个带有 myClass 指针
的 boost 序列化函数,我该怎么办?
我不希望 boost 执行保存指向的对象然后恢复指向该对象的指针的默认操作。我希望 boost 能做一些不同的事情。
最佳答案
如果您需要一种不同于特殊类的普通指针序列化的行为,您有两个选择:
也许您可以调整包含 myClass 指针的所有结构/类的 serialize() 方法,以实现您想要的行为。但是,如果您周围有很多这样的指针,这将不是一个选择。另一种可能性是使用 http://www.boost.org/doc/libs/1_47_0/libs/serialization/doc/index.html 中描述的免费功能。 (为 myClass 指针编写)。
另一个选项仅在您使用不超过一种存档类型(例如二进制存档)时才有效。您可以从存档类派生并为方法保存(和分别加载)添加重载。
关于c++ - 如何覆盖 boost::serialize 获取指向对象的指针时发生的情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6970151/