new하면
메모리에 공간이 생기고 포인터가 그걸 가리키고 있는거잖아
delete 하면
구조적으로 어캐 되는거임?
그냥 포인터가 그 대상을 가리키지않고 그 메모리공간은 누가 쓰든 말든임?
A()
{
int *a=new int(5)
delete
}
main()
{
A();
}
이거 해석하면 A들어가서 스택에 포인터a라는 지역변수가 생기고 인트메모리공간이 힙에 할당되고 포인터가 a를 가리키고
딜리트 할때 a가 아무것도 가리키지않아서 인트공간은 미아가 되고 함수를 빠져나오면서 지역변수인 포인터 a가 스택에서 빠져나오면서 끝나는거임?
댓글 0