2
我是否需要序列化沒有成員的基礎對象(例如接口)?使用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?
archive & boost::serialization::base_object<Base>(*this);
}
};
好像這是不必要的樣板,並會導致自boost ::在基類的序列化一個額外的依賴,但在同一時間,如果有人會添加成員的基類後,這將是困難,因爲整個層次結構都需要改變。
我不確定,如果你序列化一個基指針會怎麼樣? –
是的,你說得對,如果沒有序列化基礎對象,它將無法正常工作。你能把它作爲答案嗎? – lizarisk