【问题标题】:Boost serialization - Serialize noncopyable but movable objects?提升序列化 - 序列化不可复制但可移动的对象?
【发布时间】:2013-02-27 13:27:30
【问题描述】:

有可能吗? 它不能开箱即用,因为它会在对象未序列化时尝试复制对象

更新 1:这些对象是不可复制的,只是因为它们分配了内存,一旦分配了内存,我看不出有任何理由在可以移动时复制。反序列化部分应尽可能快。

【问题讨论】:

  • 通常对象是不可复制的,因为它们具有无法复制或重新创建的内部状态,所以这里的问题是:是什么使您的对象不可复制,并且从语义上防止从序列化状态重新生成?如果不是,那为什么它是不可复制的?
  • 一个解决方案是序列化 boost::shared_ptr
  • hmm... 将尝试使用指针,在这种情况下不确定它是否适合我的需求

标签: c++ serialization boost noncopyable movable


【解决方案1】:

前段时间我遇到过类似的问题,而 IIRC 我没有找到任何解决方案,所以我反序列化了另一种类型的对象并将其输入到实际对象的构造函数中。另一种类型的设计只是为了快速反序列化并将其内容移动到实际对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-01
    • 1970-01-01
    • 2022-01-18
    • 2018-08-16
    • 1970-01-01
    • 1970-01-01
    • 2014-04-22
    • 2018-04-08
    相关资源
    最近更新 更多