직렬화는 객체 데이터를 비트의 나열로 만들어 파일에 저장하거나 네트워크 전송할 수 있게 만드는 것을 말한다.
(직렬화 되어 있으면, 별도의 작업 없이 쉽게 복제 가능)
다른 언어와 달리 C++은 직렬화를 언어차원에서 지원하지 않는다.
( 직렬화를 지원하는 언어는 메타 데이터를 정의하여 컴파일된 바이너리 안에 포함시킨다-리플렉션(reflection) )
C++은 컴파일된 바이너리에 메타 데이터가 없고, 리플렉션 기능을 제공하지 않음
Boost 라이브러리의 Boost.Serialization을 이용해서 직렬화를 수행한다.
위처럼 직렬화를 수행하면, 각 클래스를 구성하는 모든 항목이 객체를 저장하는 위치에 비트열로 나열된다.
포인터 역참조 없이 Boost는 내부적으로 스스로 대응한다.