2012-03-20 2 views
0

디스크에 저장하려는 unordered_map이 아래에 있습니다. 문제는 내 unordered_map 내 사용자 정의 클래스에 대한 포인터가 포함되어 있습니다. 이걸 어떻게 달성 할 수 있는지 보여 주시겠습니까?디스크에 unordered_map을 저장하는 기능을 향상시킵니다.

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

"make persistent"란 무엇을 의미합니까? –

+0

안녕하세요 Nicol, 정렬되지 않은지도를 디스크에 저장하고 싶습니다. –

+0

포인터가 포함되어있는 경우 포인터가 다시 가져올 때 포인터가 가리키는 포인터는 무엇입니까? 한 번에 전체 데이터 구조를 직렬화해야합니다 (일부만이 아님). – Mankarse

답변

1

지도의 내용을 디스크에 저장하려면 일종의 직렬화 메커니즘이 필요합니다. 나는이 목적을 위해 부스트 직렬화 도서관에서 찾고하는 것이 좋습니다 것입니다 :

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

희망이 도움이됩니다.

+0

안녕하세요 Dmitri, 문제는 객체 대신 포인터를 사용하는 변형을 사용하는 해시입니다. 그래서이 경우 serialization이 디스크에 해시를 작성하고 해시를 그대로 검색 할 수 있는지 궁금합니다. 감사합니다 Dimitri –

+0

희망이 여전히 관련이 ... 귀하의지도 요소 유형에 특정 serialize 메서드를 정의해야합니다. 자세한 내용은 다음 링크를 참조하십시오. http://www.boost.org/doc/libs/1_49_0/libs/serialization/doc/index.html –

관련 문제