Ho una mappa come questaÈ sicuro ottenere un oggetto in std :: map per riferimento?
map<int,object> objmap;
object& obj = objmap.find(num)->second;
object& obj2 = objmap[num];
Qualunque modifiche che fare nell'oggetto deve essere riflesso sulla mappa. La cosa simile non può essere fatta in un vettore poiché cambia posizione degli oggetti quando vuole più spazio. È sicuro farlo in una std :: map? ed è consigliabile? La seconda versione restituisce un errore in quanto il mio oggetto non ha un costruttore vuoto. Se dichiari un costruttore vuoto che non fa nulla, le due linee funzioneranno allo stesso modo?
Sai dove e come trovare tali informazioni nei documenti? In realtà non sapevo nemmeno come cercare questa risposta: qual è il modo corretto per dire "gli oggetti non si muovono"? Immagino che le specifiche debbano essere definite esattamente perché è una differenza così importante tra un vettore e una mappa. – Flynsee