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;
return 0?
'delete'를 추가하면 안됩니다.'new'를 제거해야합니다. – avakar
코드에 오류가 가득합니다. 스 니펫을 올리려면 가능한 한 올바른 것으로 만들어야합니다. – meagar
@avakar'new'와'delete'에 대해 배우는 데는 아무런 문제가 없습니다. 물론 당신이 그들을 좋아하지 않는다면 그들을 피할 수있는 방법을 찾을 수 있습니다. 그러나 실제로 그들을 사용하고 그들과 함께 편안하게하고 실수로부터 배우고 당신이 좋아하는지 아닌지를 결정하는 데는 아무런 문제가 없습니다. –