
100
할당 래퍼를 사용하면 단일 지점에서 할당 관련 오류를 처리할 수 있는 이점이
있다. 코드의 각 할당 지점에서 포인터 점검 코드를 몇 줄씩 더 작성하지 않아
도 된다. 또한 메모리 해제를 위한 래퍼도 있다. 예를 들어, 현재 할당된 메모
리를 추적하기로 결정했다면 나중에 이 래퍼가 유용할 것이다.
할당이 끝난 후 이제 해당 포인터가 유효한지 확인한다. 이후에는 포인터의
유효성을 확인하지 않아도 되며, 함수 경계를 넘어 전달 받은 포인터도 유효하
다고 신뢰할 수 있다. 이 방식은 프로그래밍 오류가 일어나지 않는 한 괜찮지
만, 실수로 유효하지 않은 포인터에 접근을 시도한다면 디버그하기 어려운 상
황으로 이어질 수 있다. 안전 유지와 코드 개선을 위해 포인터 검사를 사용하
기로 결정한다.
여러분의 프로그램은 여러 곳에서 메모리를 할당/해제하고 있으며, 포인터를
사용해서 메모리나 다른 리소스에 접근하는 곳도 많다.
...