在 Boost.MPI 中使类可序列化是啥意思?

Posted

技术标签:

【中文标题】在 Boost.MPI 中使类可序列化是啥意思?【英文标题】:What does it mean to make a Class serializable in Boost.MPI?在 Boost.MPI 中使类可序列化是什么意思? 【发布时间】:2019-07-25 15:18:21 【问题描述】:

我正在阅读 Boost.MPI 的文档,其中描述了如何使类可序列化,但我实际上不明白这意味着什么以及我们为什么要这样做。

这是来自 Boost.MPI 教程的类:

class gps_position

private:
    friend class boost::serialization::access;

    template<class Archive>
    void serialize(Archive & ar, const unsigned int version)
    
        ar & degrees;
        ar & minutes;
        ar & seconds;
    

    int degrees;
    int minutes;
    float seconds;
public:
    gps_position();
    gps_position(int d, int m, float s) :
        degrees(d), minutes(m), seconds(s)
    
;

【问题讨论】:

【参考方案1】:

这意味着您实际上是以可恢复的方式将数据集转换为字节序列。为什么这会有所帮助,请参阅 boost 文档中的 here。

【讨论】:

MPI_Pack 例程我们可以说是对给定数据进行序列化吗? 是的,据我所知,它们都是传染性存储数据的方法。当无法使用共享内存时,它们是通过缓冲区发送数据所必需的。

以上是关于在 Boost.MPI 中使类可序列化是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 .net 中使类可序列化而无需 Serializable 属性

我可以告诉 Boost.MPI 哪个类版本与 Boost.Serialization 一起使用吗?

使类可迭代尊重继承

如何使类可迭代?

自动使类可散列

Swift 5.+ - 使类可散列?