Objekt in Byte-Array in C ++ serialisieren

Ich arbeite an einem eingebetteten Gerät (Mikrocontroller) und möchte Objekte dauerhaft speichern (EEPROM). Die meisten Serialisierungslösungen, die ich finden kann, verwenden das Dateisystem auf irgendeine Weise, aber mein Ziel hat kein Dateisystem.

Daher ist meine Frage, wie ich ein Objekt in ein Byte-Array serialisieren kann, damit ich dieses Byte-Array anschließend in einem EEPROM speichern kann.

Hier ist ein Beispiel für das, was ich versuche zu tun:

class Person{
     //Constructor, getters and setters are omitted

    void save(){
         char buffer[sizeof(Person)]; 
         serialize(buffer);
         EEPROM::Save(buffer, sizeof(Person)); 
    }

    void load(){
         char buffer[sizeof(Person)]; 
         EEPROM::Load(buffer, sizeof(Person));
         deserialize(buffer);
    }

    void serialize(char* result){
        //?????
    }

    Person deserialize(char* buffer){
        //??????
    }

private:
    char* name;  
    int   age; 
    float weight; 
};

Antworten auf die Frage(2)

Ihre Antwort auf die Frage