2012-03-20 24 views
0

我有一個unordered_map,我想保存到磁盤。問題是我的unordered_map包含指向我的自定義類的指針。你能告訴我一個例子如何做到這一點?提高將unordered_map保存到磁盤的能力

boost::unordered_map<char*,boost::variant<macro*,module*>,myhash,cmp_str> *_REF; 
+0

你是什麼意思「堅持」? – 2012-03-20 02:42:57

+0

嗨Nicol,我想將無序映射保存到磁盤。 – 2012-03-20 02:59:44

+0

如果它包含指針,這些指針指向什麼時候指向它?您需要一次對整個數據結構進行序列化(不僅僅是其中的一部分)。 – Mankarse 2012-03-20 03:13:03

回答

1

您需要某種序列化機制來將映射內容保存到磁盤。 我會建議看升壓串行化庫用於這一目的:

http://www.boost.org/libs/serialization/

希望這有助於。

+0

嗨德米特里,問題是我的哈希使用變體,它取指針而不是對象。所以我想知道在這種情況下序列化是否能夠將散列寫入磁盤並完好地檢索散列?謝謝迪米特里 – 2012-03-21 20:00:15

+0

希望這仍然是相關的...你需要定義一個特定於你的地圖元素類型的序列化方法。有關詳細信息,請查看此鏈接:http://www.boost.org/doc/libs/1_49_0/libs/serialization/doc/index.html – 2012-05-21 22:21:17