Re: Память не освобождается.
От: CrystaX Россия https://crystax.me/
Дата: 16.05.05 08:49
Оценка:
Здравствуйте, needle, Вы писали:

N>#include <stdio.h>

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

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


N>по идее ведь второй цикл должен освободить все что занял первый, в чем дело?
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.