C++ 의 delete 과 new 명령어는 "C"의 malloc 과 free 함수보다 훨씬 낫다. malloc 과 free 대신에 new 와 zap (delete) 명령어를 가능한 많이 쓰도록 하자. delete명령어를 더 확실히 사용하기 위해서 Zap() 명령어를 만들자. zap() 명령어는 다음과 같이 정의될 수 있다.
/*
**완벽하고 튼튼한 매크로를 만들기 위해 do while 을 사용한다.
**예를 들어, 만약 "do-while"을 쓰지 않으면, 다음과 같이 될
**것이다
** if (bbint == 4)
** aa = 0
** else
** zap(aptr); //문제발생! aptr이 항상 NULL로 될 것이다
*/
#define zap(x) do { delete(x); x = NULL; } while (0)
zap(pFirstname);
zap(pFirstname); // no core dumps !! Because pFirstname is NULL now
zap(pFirstname); // no core dumps !! Because pFirstname is NULL now
zap(pLastname);
zap(pJobDescription);