È possibile salvare e caricare un oggetto decorato

0

Mi chiedo se c'è un modo semplice per salvare e caricare un oggetto decorato in c ++ come non ho mai fatto prima di gestire i file in C ++.

Attualmente l'unico tipo di oggetto che devo salvare è oggetti che memorizzano valori per la salute, il danno ecc. e ognuno di questi oggetti ha almeno un decoratore. So che potrei fare una funzione di salvataggio per ciascuna delle classi, ma non sono sicuro di come caricare l'oggetto.

Modifica: il modo in cui ho impostato il decoratore è così. nuovo campione (nuovo mostro ()) in cui il campione è il decoratore.

    
posta Fraser S 04.01.2015 - 18:32
fonte

1 risposta

1

Scrivere oggetti di qualsiasi tipo su un file (indipendentemente dal fatto che i decoratori siano coinvolti o meno) richiede serializzare quegli oggetti in qualche modo, e caricarli in seguito richiede deserializzarli . La maggior parte delle volte, (de) serializzare oggetti significa convertirli in e da stringhe.

Sembra che ti stia chiedendo come serializzare gli oggetti. Per la maggior parte degli oggetti semplici, questo è molto semplice e puoi praticamente fare quello che vuoi. Ad esempio, potresti scegliere di serializzare una std :: tuple con 0, 1 e 2 come stringa "< 0,1,2 >". Per alcuni oggetti, come i socket TCP, la serializzazione è intrinsecamente impossibile, anche se potresti essere in grado di serializzare alcune informazioni correlate come gli indirizzi IP a cui erano connessi.

In linea di principio, i decoratori non dovrebbero renderlo più difficile. Al massimo possono aumentare il numero di (de) metodi di serializzazione che è necessario implementare. Potremmo avere bisogno di più informazioni sui tuoi oggetti per capire perché sei bloccato.

Se stai chiedendo approcci comuni per serializzare oggetti più complessi o grandi raccolte di oggetti, ti suggerisco di guardare i formati JSON e XML. Ci sono un sacco di librerie per generarle e analizzarle.

    
risposta data 04.01.2015 - 19:04
fonte

Leggi altre domande sui tag