Здравствуйте, 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>>