나는 텍스트를 직렬화하고 C++에서 추상 객체의 컨테이너를 포함하는 객체를 역 직렬화하려고 시도하지만 위의 코드 예제를 아는 사람이 있습니까?C++에서 추상 객체의 컨테이너를 포함하는 객체를 직렬화 및 비 직렬화하는 방법은 무엇입니까?
당신은라는 추상 클래스 방법을 만들 수
0
A
답변
1
:
virtual void serialize(char *out, int outLen) = 0;
.. 차례로 정적 디시리얼라이저 :
하여 디시리얼라이저에서AbstractClass deserialize(char *serializedString, int strLen);
, 당신이를 역 직렬화하는 다양한 전략을 가질 수있다 추상 클래스의 오른쪽 서브 클래스
3
boost::serialize을 살펴보십시오.
여기에는 serialization of containers을 돕기위한 방법이 포함되어 있습니다 (링크가 왼쪽에서 프레임을 잃어 버림).
물론, 해당 페이지로 건너 뛰지 마십시오. 전체 내용을 읽는 것이 좋습니다. :)
2
다른 언어와 달리 C++에는 "baked in"과 같은 종류의 직렬화가 제공되지 않습니다. 당신은 도서관을 이용하기를 원할 것입니다. Boost.Serialization, Google Protocol Buffers (파일 형식 일 수 있음) 또는 Apache Thrift입니다.
1
안녕하세요, 비슷한 질문을 조금 전부터 받았습니다. 특히 훌륭한 dribeas의 대답을보십시오. 이 메서드는 추상 형식의 새 객체를 추가 할 때 기존 코드를 거의 조작하지 않을 수 있습니다 (예 : 디시리얼라이저의 옵션을 사용하면 추가 스위치를 사용하지 않고 직렬화 할 수 있음).
관련 문제
- 1. Datastore에서 사용자 프로필 정보를 직렬화 및 비 직렬화하는 방법은 무엇입니까?
- 2. C에서 비 직렬화 가능 객체를 문자열로 변환
- 3. JQuery에서 양식 요소 직렬화 및 비 직렬화
- 4. Object 유형의 객체를 직렬화하는 방법은 무엇입니까?
- 5. 자바에서 직렬화 된 PHP 객체의 비 직렬화
- 6. 리스너를 잃지 않고 객체를 직렬화 및 비 직렬화하는 가장 좋은 방법은 무엇입니까?
- 7. C++에서 객체를 직렬화 및 비 직렬화 할 수 있습니까?
- 8. XML 상속 된 객체의 비 직렬화
- 9. xml을 객체 배열에 비 직렬화하는 방법은 무엇입니까?
- 10. 기존 파일에 직렬화하는 방법은 무엇입니까?
- 11. 큰 파일 직렬화 및 비 직렬화
- 12. 플래그 세트를 직렬화/비 직렬화하는 빌트인 클래스
- 13. 새 페이지를 열고 GWT에서 객체의 비 직렬화
- 14. C#에서 포인터를 직렬화 및 비 직렬화하는 방법이 있습니까?
- 15. pybrain 네트워크를 직렬화/직렬화하는 방법은 무엇입니까?
- 16. NSData가 포함 된 객체를 직렬화하는 방법은 무엇입니까?
- 17. 객체의 직렬화
- 18. C에서 데이터를 직렬화하는 방법
- 19. TouchJSON에서 NSDictionary의 객체를 비 직렬화 하시겠습니까?
- 20. Clojure에서이 Java 객체를 직렬화하는 올바른 방법은 무엇입니까?
- 21. 비 직렬화 가능 객체를 바이트 배열로 변환하는 방법은 무엇입니까?
- 22. JSON의 비 직렬화 및 직렬화,
- 23. Spring Remoting 직렬화 및 비 직렬화
- 24. flexjson을 사용하여 객체 배열의 목록을 직렬화 및 비 직렬화하는 방법은 무엇입니까?
- 25. ConcurrentDictionary에 액세스하고이를 직렬화하는 방법은 무엇입니까?
- 26. Jackson 1.8.0 임의의 클래스를 직렬화/비 직렬화하는 ObjectMapper
- 27. Ruby/Rails에서 Net :: IMAP 객체를 캐시/직렬화하는 방법은 무엇입니까?
- 28. C#에서 객체에 XMLDocument를 비 직렬화하는 방법은 무엇입니까?
- 29. 그래프 구조를 직렬화하는 방법은 무엇입니까?
- 30. Facebook Graph API에서 JSON을 비 직렬화하는 방법은 무엇입니까?
추상 개체 란 무엇입니까? 추상 클래스는 객체를 인스턴스화 할 수없는 클래스이므로 "추상적 객체"라는 용어는 나에게 놀라운 것입니다. –
저는 그것이 컨테이너와 오브젝트 자체에 의존한다고 생각합니다. 내 이해에서 당신은 개체를 serialize 할 수 있도록 각 개체를 serialize 할 수 있어야합니다. IE : 컨테이너를 직렬화하는 개체를 직렬화합니다. 컨테이너에 포함 된 각 개체를 직렬화합니다. – dborba
@Daniel - 그가 의미하는 바는 컨테이너가 포함하고있는 객체의 유형을 컨테이너가 알지 못한다는 것입니다. 그러나 나는 틀릴 수도 있습니다. – dborba