с файлам. На 38 строчек есть констуркция с file.write(reinterpret_cast <char*>(&pers), sizeof(pers)) в описании написано якобы это небезопасное пребразование pers к char. Вроде логично объект записали в файл, окей.
Затем на 45 строчке опять та же конструкция только для чтения. Каким образом тут конструкция работает? Ведь мы считываем с файла, там же изначальнотип данных НЕ pers.
https://pastebin.com/kmKW8k9R
Это -- безопасное, не слушай.
Как нет, если ты их сам туда записал...
Но писать так вот бинарку всего объекта в файл очень плохо. МОжно, если не кросплатформный проект, но всё равно очень плохо. Ты завязываешься на образ объекта в памяти, который в общем случае не определён, как оно всё должно располагаться, и это может в любой момент поменяться. Надо записывать данные класса почленно, явно перечисляя все поля.
Обсуждают сегодня