C++ 使用boost::serialization时,是否应该序列化没有成员变量的基对象?
我是否需要序列化没有成员的基本对象(例如接口)C++ 使用boost::serialization时,是否应该序列化没有成员变量的基对象?,c++,boost-serialization,C++,Boost Serialization,我是否需要序列化没有成员的基本对象(例如接口) class Base { template <typename A> void serialize(A& a, unsigned int v) {} }; class Derived: public Base { template <typename A> void serialize(A& a, unsigned int v) { // Should I do this?
class Base {
template <typename A> void serialize(A& a, unsigned int v) {}
};
class Derived: public Base {
template <typename A> void serialize(A& a, unsigned int v) {
// Should I do this?
archive & boost::serialization::base_object<Base>(*this);
}
};
类基{
模板void序列化(A&A,无符号int v){}
};
派生类:公共基{
模板无效序列化(A&A,无符号整数v){
//我应该这样做吗?
归档和boost::序列化::基本对象(*this);
}
};
这似乎是不必要的样板文件,会导致基类上的boost::serialization产生额外的依赖性,但同时,如果以后有人向基类添加成员,这将很困难,因为整个层次结构都需要更改。对于基指针的序列化,您需要base::serialize。我不确定,如果序列化基指针会怎么样?是的,您是对的,如果不序列化基对象,它将无法工作。你能回答这个问题吗?