c++ - 如何覆盖 boost::serialize 获取指向对象的指针时发生的情况

标签 c++ pointers boost boost-serialization

嘿,我知道只要你已经为它指向的对象定义了序列化函数,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/

相关文章:

c++ - 无法从 'const jchar *' 转换为 'const wchar_t *'

c# - C#中跨模块访问链表

c++ - 增加破坏速度

C++ ubuntu检测实时按键事件

c++ - 在 VC++ 中链接 FFTW 时出错

c - 可以在数组开始之前向后迭代到一个吗

c++ - 在临时指针上使用 "delete"后程序崩溃,即使只剩下新行和删除行?

c++ - 如何使用 boost::simple_segregated_storage?

c++ - 无法使用 boost::geometry::model::polygon

c++ - 使用友元运算符<<的编译器错误