FAQ:STL:C++ сериализация данных

Материал из Весельчак У
Перейти к: навигация, поиск

Периодически возникает потребность, сохранить состояние класса в файл или передать по сети или наоборот зачитать/получить. Подобные задачи обычно решает сериализация, можно конечно сделать простое копирование памяти, но тут естественно возникают ряд проблем:

  • Выравнивание членов касса или структуры, загрузить класс в другой библиотеке, где выравнивание отключено уже не получится
  • В гетерогенных средах порядок байт может другим: x86 и PowerPC
  • Нельзя сохранять, что-то кроме POD структур память на которую ссылаются указатели, таким образом не скопируем.
  • Нельзя сохранить в Humanreadable форме.

Собственно