|
|
|
|
Strumenti |
29-02-2016, 10:29 | #1 |
Senior Member
Iscritto dal: Mar 2011
Messaggi: 1050
|
[c++] distruzione vector e list
Ho un dubbio...
Serve distruggere un vector o una list? Magari nel distruttore Se si come? Il metodo clear() pulisce ma non distrugge. Si potrebbe fare un for e delete per ogni elemento? |
01-03-2016, 00:44 | #2 |
Senior Member
Iscritto dal: Mar 2011
Messaggi: 1050
|
Cioè per un puntatore *p basta deallocare con delete p;
Per un array dinamico v [] basta deallocare con delete [] v; E per un vector o una list?? Avviene tutto in automatico!? |
02-03-2016, 00:50 | #3 |
Senior Member
Iscritto dal: Mar 2011
Messaggi: 1050
|
Ah ok ... Quindi non necessita la deallocazione con delete nè un vector né una list!
|
02-03-2016, 09:15 | #4 |
Senior Member
Iscritto dal: May 2005
Città: Trieste
Messaggi: 2275
|
no, non serve
i container std sono strutture a dimensione dinamica fatte apposta per ovviare il problema della gestione manuale della memoria: tu aggiungi e togli elementi, senza doverti preoccupare di fare le (de)allocazioni necessarie, sarà il container internamente a gestirsi il tutto occhio però, se all'interno del vector o della lista salvi dei ptr, questi si li devi distruggere, ma credo sia ovvio
__________________
neo mini v2 / asus strix z490i / 10600k@? / uh12s / rx6700xt / 32gb ddr4@3200 / sandisk 250 + asenno 1tb / lenovo g34w
trattative concluse : tante... |
02-03-2016, 15:19 | #5 | |
Senior Member
Iscritto dal: Mar 2011
Messaggi: 1050
|
Quote:
Cioè? Puoi farmi un esempio? |
|
02-03-2016, 17:29 | #6 |
Senior Member
Iscritto dal: Mar 2011
Messaggi: 1050
|
Tipo vector<string*> v;
Dovrei deallocare ogni string?? |
14-03-2016, 08:50 | #7 |
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3305
|
|
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:34.