Cpp
허상 포인터(댕글링 포인터)
__sapar
2023. 6. 19. 18:22
댕글링 포인터?
해제된 메모리 영역을 가리기는 포인터를 댕글링 포인터라고 한다.
int *a = new int(10);
int *b = a;
cout << *a << "\n";
delte a;
cout << *b << "\n"; // 이미 해제된 메모리를 가리키고 있다..!! 댕글링 포인터
이러한 댕글링 포인터를 예방 및 해결 할 때는
a 를 해제한 후 nullptr 을 대입하고, b 사용이전에 a가 nullptr 인지 아닌지 검사해야한다.
if(a) {delete a; a = nullptr;};