Oggi mentre studiavo mi è venuto un dubbio sulle liste e sui puntatori.
Ho una struttura T del tipo:
codice:
struct T{
int *a;
int b;
};
poi inizializzo una lista di T, inserisco un nuovo elemento ed infine elimino gli elementi della lista:
codice:
list<T> lista;
T new_elem = {new int, 2};
lista.push_back(new_elem);
lista.clear();
Adesso che la lista è vuota il puntatore "int* a" che avevo inizializzato con "T new_elem = {new int, 2};" esiste ancora oppure è stato eliminato quando ho pulito la lista?
Mi è sorto questo dubbio perché non vorrei avere memory leaks. In pratica io non ho mai richiamato delete ed è per questo che non so como dovrei comportarmi in questi casi.