|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2015
Messaggi: 513
|
perdita di memoria C++, non riesco a capire una cosa credo semplice..
Buonaseraa
C'è una cosa che mi sta facendo immattire: Uso queste due righe per immettere un elemento in una lista e poi per cancellarlo: Codice:
listaSchermata.back().inserisci_boxTesto(...) listaSchermata.back().listaBoxTesto.pop_back(); Codice:
void schermata::inserisci_boxTesto(int x_, int y_, int l_, int a_, texture* textureFont_, int tipoSfondo, texture* textureInterfaccia)
{
boxTesto* pB = new boxTesto(x_, y_, l_, a_, textureFont_, tipoSfondo, textureInterfaccia);
listaBoxTesto.push_back(*pB);
pboxTestoAttivo = &listaBoxTesto.back();
}
Codice:
boxTesto* pB = new boxTesto(x_, y_, l_, a_, textureFont_, tipoSfondo, textureInterfaccia); Codice:
listaBoxTesto.push_back(*pB); Codice:
listaSchermata.back().listaBoxTesto.pop_back(); Premetto che se creo un oggetto boxTesto e poi lo cancello senza metterlo nella lista si libera la memoria correttamente. Ci sto immattendo! Cosa sbaglio? Grazie |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Jan 2015
Messaggi: 513
|
Quote:
|
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2095
|
In generale siccome C++ non ha il Garbage Collector come tutti i linguaggi di programmazione moderni è sempre meglio evitare l'operatore new e quindi allocare gli oggetti nello stack così almeno si mitiga un po' il problema dei memory leak.
__________________
Cosmos C# Open Source Managed Operating System Cosmos Thread Ufficiale Cosmos Official Site Vuoi collaborare allo sviluppo? Unisciti alla chat! |
|
|
|
|
|
#4 | |
|
Bannato
Iscritto dal: Nov 2014
Messaggi: 292
|
Quote:
|
|
|
|
|
|
|
#5 | |
|
Bannato
Iscritto dal: Nov 2014
Messaggi: 292
|
Quote:
I casi in cui l'allocazione statica non e' possibile non sono tanto rari, comunque. Un paio di esempi:
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:09.




















