我正在使用boost序列化的多重繼承。而不是做沒有base_object的boost序列化基類
boost::serialization::base_object< Connection<T> >(*this)
boost::serialization::base_object< Collection<C> >(*this)
我做
template<typename ArchiveT>
void save(ArchiveT& arc, const unsigned version) const{
//both Connection<T> and Collection<C> are Base Classes
Connection<T>::save(arc, version);
Collection<C>::save(arc, version);
}
和工作。那麼他們兩個是同一件事嗎?或者這樣做有什麼傷害?我應該改變這個代碼嗎?
{這件東西很久以前就被編碼了。所以我忘了爲什麼我這樣編碼。可能是我當時不知道base_object
}
我正在序列化大量數據(〜1.6 GB)。當我序列化時,我看到序列化過程佔用大量內存並觸及3GB的障礙。我試過評論序列化代碼,它需要100MB內存。那麼爲什麼序列化需要這麼大的內存呢?