¿Es posible almacenar clase polimórfica en memoria compartida?

Supongamos que tengo claseBase yDerived : public Base. He construido un segmento de memoria compartida utilizando boost :: interprocess library. Es posible tener un código similar a este:

Base* b = new Derived(); 
write(b); //one app writes
Base* b2 = read(b); //second app reads
//b equals b2 (bitwise, not the ptr location)

Los problemas que veo aquí son, por ejemplo, que el espacio requerido para una clase derivada de Base es desconocido (entonces, ¿cuánto shmem asignar?)

Q: ¿cómo pasar objetos mediante punteros entre aplicaciones?

Respuestas a la pregunta(5)

Su respuesta a la pregunta