댕글링 포인터?
해제된 메모리 영역을 가리기는 포인터를 댕글링 포인터라고 한다.
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;};
'Cpp' 카테고리의 다른 글
템플릿(template) (0) | 2023.06.20 |
---|---|
콜백 함수 (0) | 2023.06.19 |
L-value, R-value (0) | 2023.06.19 |
스마트 포인터 (0) | 2023.06.13 |
얕은 복사 깊은 복사 (0) | 2023.06.13 |