FAQ:STL:C++ сериализация данных — различия между версиями
Материал из Весельчак У
RXL (обсуждение | вклад) м |
LogRus (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
− | + | Периодически возникает потребность, сохранить состояние класса в файл или передать по сети или наоборот зачитать/получить. Подобные задачи обычно решает сериализация, можно конечно сделать простое копирование памяти, но тут естественно возникают ряд проблем: | |
+ | 1. Выравнивание членов касса или структуры, загрузить класс в другой библиотеке, где выравнивание отключено уже не получится | ||
+ | 2. В гетерогенных средах порядок байт может другим: x86 и PowerPC | ||
+ | 3. Нельзя сохранять, что-то кроме POD структур память на которую ссылаются указатели, таким образом не скопируем. | ||
+ | 4. Нельзя сохранить в Humanreadable форме. | ||
+ | |||
[[Category:FAQ]] | [[Category:FAQ]] |
Версия 07:36, 29 августа 2008
Периодически возникает потребность, сохранить состояние класса в файл или передать по сети или наоборот зачитать/получить. Подобные задачи обычно решает сериализация, можно конечно сделать простое копирование памяти, но тут естественно возникают ряд проблем: 1. Выравнивание членов касса или структуры, загрузить класс в другой библиотеке, где выравнивание отключено уже не получится 2. В гетерогенных средах порядок байт может другим: x86 и PowerPC 3. Нельзя сохранять, что-то кроме POD структур память на которую ссылаются указатели, таким образом не скопируем. 4. Нельзя сохранить в Humanreadable форме.