Память не освобождается.
От: needle  
Дата: 16.05.05 08:46
Оценка:
#include <stdio.h>

struct cs {
cs *next;
char *buffer ;
cs () { buffer = new char [1024]; }
~cs() { delete buffer; }
};

int main(){
cs *a,*first;
getchar();
for (int i=0; i<5000; i++) {
if (i==0) first=new cs;
else { a = new cs; a->next = first; first = a; }
}
getchar();
while (a) {
first = a->next;
delete a;
a = first;
}
getchar();
return 0;
}

по идее ведь второй цикл должен освободить все что занял первый, в чем дело?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.