Cosa intendi che può esaurire la sua capacità interna?! Nel codice che ho inserito se decommento la riga in questione si creano 2 oggetti acciaio...Originariamente inviato da MItaly
Il problema è che ogni volta che tu aggiungi un elemento al vector acciaio, questo può esaurire la sua capacità interna e decidere di riallocare il blocco di memoria che gestisce, rendendo non più validi tutti i puntatori ai suoi elementi.
smart-puntatori.....sono qualcosa che esiste (e magari hai qualche link da farmi leggere) o consiste nell'inventarsi qualcosa che li renda "smart"?Originariamente inviato da MItaly
La soluzione più semplice è evitare questi giri strani con i vettori e semplicemente usare dentro Nodo uno smart pointer che gestisca l'oggetto di tipo Materiale.
Questa cosa provo a studiarmela da solo..Originariamente inviato da MItaly
Se non ti serve condividere i medesimi materiali tra più nodi, in C++ pre-11 puoi usare std::auto_ptr (avendo cura di disabilitare il costruttore di copia di Nodo), con l'ultima versione dello standard (o usando Boost) puoi usare unique_ptr/scoped_ptr.
Grazie per risposta!![]()

Rispondi quotando