每次做继承都需要boost::serialization::base_object吗?

Is boost::serialization::base_object required every time I do inheritance?

我有:

  1. classBC 中是否需要 serialize 函数? serialize BC 中的函数就是这样的:

     template<typename Archive>
     void serialize(Archive& ar, const unsigned int version)
     {
         ar & boost::serialization::base_object<A>(*this);
     }
    
  2. 我应该期待文档中有关于此的注释吗?

没有。如果不想从base序列化数据,可能不需要。

但是,在多态层次结构中,如果只是为了告诉存档有关已注册的类型,您确实需要它。

https://www.boost.org/doc/libs/1_73_0/libs/serialization/doc/serialization.html

这里有很多例子: