Member 13661441 Ответов: 1

Двоичные файлы синтаксис чтения/записи в C++ и использование классов или объектов в нем


можно ли использовать имя класса вместо его объекта в следующем синтаксисе :
student s;
fin.read((char*)&s,sizeof(s));

где s-объект класса.
а студент-это грива класса

Что я уже пробовал:

В принципе ничего,

Jochen Arndt

Вы уже получили ответ на свой вопрос, но вы должны быть осторожны при чтении и записи содержимого класса, как они есть. Это не сработает, если ваш класс содержит динамические объекты (указатели на выделенные объекты).

Richard MacCutchan

Почему бы просто не попробовать, и посмотреть, какие результаты вы получите?

1 Ответов

Рейтинг:
1

CPallini

- Да, можешь.
Компилятор радостно соглашается

fin.read((char*)&s,sizeof(student));
Как вы можете легко убедиться.


Форма
fin.read((char*)&s,sizeof(s));
однако он более надежен (если вы измените тип s он остается верным).