std:stack вызов деструктора
От: Аноним  
Дата: 23.06.08 12:49
Оценка:
Вопрос, как вызвать деструкторы объектов размещенных
в std:stack чтобы не было утечки памяти. Спасибо.

class A{
    int a;
public:
    A(int i=77 ): a(i) {}
    ~A(){ cout<<"~A"<<a<<endl; }
};

int main(){
    int d[]={45,34,56,27,71,50,62};
      {
     stack <A> s1;
     A a1, a2(88), a3(99);
     s1.push(a1); s1.push(a2); s1.push(a3);
     s1.pop();//вызвался деструктор 
    }//вызвались встальные деструкторы
      {
    stack <A*> s2;
    s2.push(new A);
      s2.push(new A(88));
    s2.push(new A(99));
    s2.pop();//утечка 1 ????
    }//утечка остальных ????
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.