class finder
{
public:
finder();
~finder();
}
int _tmain(int argc, _TCHAR* argv[])
{
finder* pfind = new finder(L"test");
finder find(L"test2");
system("PAUSE");
return 0;
}
我知道find的析构函数将在程序退出后调用,但pfind的析构函数将不会被调用。我的问题是为什么?我应该加指向对象及其析构函数
delete _pfind;
返回0之前吗?
你不应该添加'delete',你应该删除'new'。 – avakar 2012-04-01 16:19:21
你的代码充满了错误;如果你要发布片段,你应该尽可能使它们正确。 – meagar 2012-04-01 16:20:46
@avakar学习'new'和'delete'没有什么错。当然,如果你不喜欢它们,你可以找到避免它们的方法,但实际使用它们并使它们适应并从错误中学习并决定你是否喜欢它们是没有问题的。 – 2012-04-01 16:25:12