当我有一个类的std :: vector时,我对如何使用析构函数感到困惑.
所以如果我创建一个简单的类如下:
class Test
{
private:
int *big;
public:
Test ()
{
big = new int[10000];
}
~Test ()
{
delete [] big;
}
};
Run Code Online (Sandbox Code Playgroud)
然后在我的主要功能中,我执行以下操作:
Test tObj = Test();
vector<Test> tVec;
tVec.push_back(tObj);
Run Code Online (Sandbox Code Playgroud)
当我离开范围时,我在Test的析构函数中遇到运行时崩溃.为什么这样,我怎样才能安全地释放我的记忆?