我有一个类' SpecificTaskResults',抽象基类的孩子' TaskResults',它拥有一大块由其他类生成的数据
' SpecificTaskResults'保存一些数据的向量,例如std :: vector; ' TaskResults'在数据的开头和它的长度上保持空白*。
class TaskResults
{
public:
void* _data;
size_t _dataLength;
private:
void SetData(void* memAddr, size_t len)
{
_data = memAddr;
_dataLength = len;
}
}
class SpecificTaskResults : public TaskResults
{
public:
std::vector<float> _specificData;
GiveData(std::vector<float> computedData)
{
_specificData = std::move(computedData);
SetData(&_specificData[0], _specificData.size());
}
}
基类的主要目的是能够以二进制格式保存数据,即使基本库不知道数据的确切含义。
现在我需要使用Boost :: Serialize序列化此类以将其传递给MPI,如何正确地序列化基类和派生类中的指针?