Serializando objeto para matriz de bytes em C ++

Estou trabalhando em um dispositivo incorporado (microcontrolador) e quero salvar objetos no armazenamento permanente (uma EEPROM). A maioria das soluções de serialização que encontro, usa o sistema de arquivos de alguma maneira, mas meu destino não possui um sistema de arquivos.

Portanto, minha pergunta é: como posso serializar um objeto em uma matriz de bytes para poder salvar essa matriz de bytes em uma EEPROM posteriormente?

Aqui está um exemplo do que estou tentando fazer:

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; 
};

questionAnswers(2)

yourAnswerToTheQuestion