FAQ:STL:C++ сериализация данных — различия между версиями

Материал из Весельчак У
Перейти к: навигация, поиск
Строка 1: Строка 1:
 
Периодически возникает потребность, сохранить состояние класса в файл или передать по сети или наоборот зачитать/получить. Подобные задачи обычно решает сериализация, можно конечно сделать простое копирование памяти, но тут естественно возникают ряд проблем:
 
Периодически возникает потребность, сохранить состояние класса в файл или передать по сети или наоборот зачитать/получить. Подобные задачи обычно решает сериализация, можно конечно сделать простое копирование памяти, но тут естественно возникают ряд проблем:
1. Выравнивание членов касса или структуры, загрузить класс в другой библиотеке, где выравнивание отключено уже не получится
 
2. В гетерогенных средах порядок байт может другим: x86 и PowerPC
 
3. Нельзя сохранять, что-то кроме POD структур память на которую ссылаются указатели, таким образом не скопируем.
 
4. Нельзя сохранить в Humanreadable форме.
 
  
 +
* Выравнивание членов касса или структуры, загрузить класс в другой библиотеке, где выравнивание отключено уже не получится
 +
* В гетерогенных средах порядок байт может другим: x86 и PowerPC
 +
* Нельзя сохранять, что-то кроме POD структур память на которую ссылаются указатели, таким образом не скопируем.
 +
* Нельзя сохранить в Humanreadable форме.
  
 +
Собственно
  
 
[[Category:FAQ]]
 
[[Category:FAQ]]

Версия 07:40, 29 августа 2008

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

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

Собственно