Здравствуйте, CrystaX, Вы писали:
CX>Здравствуйте, needle, Вы писали:
CX>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>>}
CX>
N>>по идее ведь второй цикл должен освободить все что занял первый, в чем дело?
результат тот же