Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
Mission(2)
#pragmatic
2년 전
792
4

연습문제 17. 일부 c나 c++ 개발자들은 어떤 포인터가 가리키는 메모리를 해제한 다음에는 반드시 그 포인터 값을 NULL로 설정한다. 왜 이것이 좋은 생각일까?

  • 포인터에 메모리를 해제하여도 포인터에는 주소값이 남아있으며 해당포인터를 사용하면 잘못 참조될 수도 있기에 항상 해제 후 NULL로 초기화시킴

ex) Human *pHuman = new Human;

if (!pHuman)

{

cout << "할당 실패" <<endl;

return false;

}

delete pHuman;

pHuman 잘못된 값이 남아있음

4 comments