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);