Форум программистов, компьютерный форум CyberForum.ru

Вопросы сериализации - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Матрица http://www.cyberforum.ru/cpp-beginners/thread695795.html
Сформировать из некоторой матрицы A(n,n) верхнетреугольную матрицу В(n,n) (все элементы ниже главной диагонали нулевые), нижнетреугольную матрицу С(n,n) (все элементы выше главной диагонали нулевые) и диагональную матрицу D(n,n)(все элементы нули, кроме главной диагонали).
C++ lower_bound У меня вопрос как использовать функцию STL lower_bound к простому массиву допустим int f искать на промежутке от 1 до n какое-то x так можно и как? Подскажите пожалуйста! http://www.cyberforum.ru/cpp-beginners/thread695792.html
C++ Разряженные таблицы
Люди, хелп. Плиз скиньте мне реализацию RMQ (минимум на отрезке) с использованием разряженных таблиц у кого есть. Срочно надо.
C++ Что лучше?
Что лучше из ниже перечисленного? (Visyal Studio C++ 2010 Ultimate) (Dev-C++) (или чтото другое)
C++ Все не получается сделать http://www.cyberforum.ru/cpp-beginners/thread695761.html
Осуществить сравнение первых n символов двух строк. Знаю что надо использовать функцию strncmp А вот как написать , не знаю Добавлено через 25 минут printf("%i\n",strncmp (str1, str2,n)); почему ответ дает отрицательное число -1?
C++ Ищу учителя Всем привет. Кто может, дайте плиз пару уроков по С++. Не могу нормальных уроков в инте найти. Заранее благодарен. подробнее

Показать сообщение отдельно
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
12.11.2012, 21:36     Вопросы сериализации
НеСказочник, не уж то и объекты, выделенные динамически, сохранялись?
Вообще объекты, типы которых не используют виртуальность (в наследовании и в полиморфизме), которые не содержат выделенных динамически данных (или статических данных, содержащих динамические данные), в общем, объекты, которые полностью (рекурсивно, если можно так выразиться) лежат в автоматической памяти, можно перевести в поток байтов так:

C++
1
char *simple_object_bytes = reinterpret_cast<char *>(&simple_object);
Размер такого байтового массива будет sizeof(simple_object). Восстановить такой объект можно через memcpy, например.

Добавлено через 2 минуты
Но это тоже компиляторозависимо. Кто его знает, как там компилятор перетасует поля объектов. В общем, лучше всего использовать универсальные алгоритмы сериализации. Для передачи по сети, например, лучше перегонять в поток байтов. А для сохранения состояния объекта на диск можно ограничиться и переводом в XML.
 
Текущее время: 05:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru