Чтение / запись файлов в / из структуры / класса

Я хотел бы прочитать файл в структуру или класс, но после некоторого чтения ямы поняли, что не очень хорошая идея сделать что-то вроде:

int MyClass::loadFile( const char *filePath ) {

            ifstream file ( filePath, ios::in | ios::binary );

            file.read ((char*)this, 18);

            file.close();

            return 0;

        }

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

void MyClass::writeFile( string fileName ) {

        ofstream file( fileName, ofstream::binary ); 

        file.write((char*)this, 18);

        file.close();

    }

Это звучит как причина, по которой я неЯ не хочу этого делать, потому что, даже если члены данных моей структуры добавляют до 18 байтов, некоторые из них могут быть заполнены дополнительными байтами в памяти. Есть ли более правильный / элегантный способ получить файл в класс / структуру, как это?

Ответы на вопрос(2)

Ваш ответ на вопрос