클래스의 소멸자에서이 포인터를 삭제하면 어떤 일이 발생하는지 확인하기 위해 프로그램을 작성했습니다. 다음은 내 코드입니다소멸자 (this) 포인터 삭제
class xxx{
public: xxx(){cout<<"constructor called"<<endl;}
~xxx(){cout<<"destructor called"<<endl;delete(this);} //deleting the 'this' pointer
};
int main(int argc, char *argv[])
{
xxx *x1=new xxx();
delete x1;
return 0;
}
이 프로그램을 실행하면 "desctructor called"라는 무한 루프 인쇄가 발생합니다.
나는 이것이 어떤 식 으로든 당신을 놀라게한다는 것에 놀랐습니다. – JustSid
스택 오버플로에 재귀 자살과 같은 것은 없습니다. – Mysticial
여기에도 질문이 있습니까? –