gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-28 08:17:59 28 4
gpt4 key购买 nike

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

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com