Я смущен тем, как использовать деструкторы, когда у меня есть std :: vector моего класса.Проблема с деструктором C++ с std :: vector объектов класса
Так что, если я создаю простой класс следующим образом:
class Test
{
private:
int *big;
public:
Test()
{
big = new int[10000];
}
~Test()
{
delete [] big;
}
};
Тогда в моей основной функции я делаю следующее:
Test tObj = Test();
vector<Test> tVec;
tVec.push_back(tObj);
Я получаю сбой во время выполнения в деструкторе теста, когда я выходить из сферы действия. Почему это и как я могу освободить свою память?
как-то мой DevC++ «спас» меня от этих чумок. Этот код [http://www.ideone.com/EHZBV] отлично работает на DevC++ в Windows. Любые идеи, почему это может произойти? Это не хорошо. Я хочу, чтобы он разбился, когда он должен был сбой! – Lazer