Diciamo che ho una classe Object generica e una classe List generica. Voglio mantenere un elenco di questi oggetti. Devo memorizzarli come List<Object>
o List<Object*>
?Memorizzazione di un elenco di oggetti
se uso List<Object>
e ho un metodo come:
if(some_condition) {
Object obj;
myObjectList.append(obj);
}
E la mia classe lista mantiene solo un riferimento all'oggetto, in modo il più presto che se dichiarazione termina, l'oggetto viene distrutto, e il l'oggetto che ho spinto non è valido. Quindi, finisco per fare qualcosa del tipo:
Object *obj = new Object;
myObjectList.append(*obj);
In modo che non venga distrutto. Ma ora gli oggetti sono indescrivibili, no? Perché ora sono memorizzati in modo sicuro nell'Elenco come Oggetti, non come puntatori agli Oggetti, quindi non posso richiamare l'eliminazione su di essi ... o verranno automaticamente distrutti quando vengono estratti dalla lista?
In questo caso, probabilmente dovrei usare List<Object*>
e cancellarli dalla lista quando ho finito con loro, no?
Così confuso ... sono sicuro di avere un malinteso fondamentale qui da qualche parte.
il problema è che si sta programmando come questo è java ... non lo è. –
Beh, non vengo da uno sfondo Java o altro ... Sono solo un po 'ritardato stasera. – mpen