¹ØÓÚdelete C/C++ Ö¸Õë
Õ»£ºº¯Êýµ÷ÓõÄʱºò£¬ÔÚÕ»Öб£´æ¾Ö²¿±äÁ¿ºÍº¯Êý²ÎÊýµÈ¡£µ±º¯Êý·µ»Øʱ£¬×Ô¶¯Çå³ýÕ»¡£
×ÔÓÉ´æ´¢Çø£ºÒ²³ÆΪ¶Ñ(heap)£¬¿ÉÒÔ¿´×÷´óÁ¿µÄÄÚ´æ¶Î¡£Í¨¹ý new ²Ù×÷·û·ÖÅäµÄÄÚ´æÔÚ¶ÑÖС£³ÌÐò½áÊø֮ǰ²»×Ô¶¯Çå³ý×ÔÓÉ´æ´¢Çø¡£ÐèÒªÓɳÌÐòÀ´¸ºÔðÊÍ·Å£¨delete£©¡£
1.
¶ÔÖ¸ÏòÕ»ÉÏÄÚ´æµÄÖ¸Õëµ÷ÓÃdelete»áµ¼Ö³ÌÐòCrash¡£
2.
new ½øÐÐ×ÔÓÉ´æ´¢ÇøÖÐÄÚ´æ·ÖÅä¡£
Èç¹û new ²»ÄÜÔÚ×ÔÓÉ´æ´¢ÇøÖд´½¨Äڴ棬Ôò»á·µ»Ø NULLÖ¸Õ롣ÿ´Î·ÖÅäÐÂÄÚ´æʱһ¶¨Òª¼ì²éÖ¸ÕëÊÇ·ñΪ null.
delete ²Ù×÷ʵ¼ÊÉÏÊǻָ´Ö¸ÕëËùÖ¸µÄÄڴ棬ʹ֮¿ÉÒÔÔÙÓ㬶ø²»ÖÁÓÚÔì³ÉÄÚ´æй©(memory leak).
¶øÖ¸ÕëÈÔÈ»ÊÇÖ¸Õ룬±ØҪʱ»¹¿ÉÒÔÖØи³Öµ¡£
Èç¹û¶ÔÒѾÊͷŹýµÄÖ¸Õëµ÷Óà delete ²Ù×÷£¬»áµ¼Ö³ÌÐò±ÀÀ£¡£µ±É¾³ýÖ¸Õëʱ£¬¸øÖ¸Õ븳ֵ NULL(0), ¶Ô¿ÕÖ¸Õëµ÷Óà delete ÊÇ°²È«µÄ¡£
ÄÚ´æй©£ºÒ»ÖÖÇé¿öÊdzÌÐòÔÚδÊÍ·ÅËüÖ¸ÏòµÄÄÚ´æ֮ǰ¾Í¸øÖ¸ÕëÖØи³Öµ¡£
µ±³ÌÐò¶Ô×ÔÓÉ´æ´¢ÇøÖеĶÔÏóÖ¸Õëµ÷Óà delete ʱ£¬ÔÚÊÍ·ÅÄÚ´æ֮ǰ»á×Ô¶¯µ÷ÓöÔÏóµÄÎö¹¹º¯Êý¡£Õâ¸ö²ßÂÔ¸øÀàÌṩÁËÇåÀíµÄ»ú»á¡£
3.
¶ÔÓÚSymbianÓ¦ÓóÌÐò£¬Èç¹ûÏÈdeleteÁËÒ»¸öÖ¸ÕëÖ¸ÏòµÄÄڴ棬µ«Ã»ÓаÑÕâ¸öÖ¸Õ븳ֵΪNULL£¬È»ºóÔÚij´¦·¢ÉúÁËLeave, Çå³ýÕ»µ¯³öÖ¸Õë²¢ÔÙ´ÎdeleteÕâ¶ÎÄڴ棬Õâ¾ÍÔì³ÉÁ˶à´ÎdeleteÒ»¶ÎÄڴ棬µ±µÚ¶þ´ÎdeleteÕâ¶ÎÄÚ´æʱ£¬Ó¦ÓóÌÐò»áCrash£¨³ÌÐòÖÕÖ¹£©£¬Crash ÔÒò¿ÉÄÜÊÇ£ºÕâ¶ÎÄÚ´æÒѾ·ÖÅä×÷ΪÆäËüÓô¦£¬É¾³ýÕâ¶Î»¹ÐèÒªÓõÄÄÚ´æ¿Õ¼ä£¬´Ó¶øµ¼ÖÂCrash¡£
Ïà¹ØÎĵµ£º
ʱ³£ÔÚcppµÄ´úÂëÖ®Öп´µ½ÕâÑùµÄ´úÂë: PnQ
PnQ
#ifdef __cplusplus PnQ
extern "C" { PnQ
#endif PnQ
PnQ
//Ò»¶Î´úÂë PnQ
PnQ
#ifdef __cplusplus PnQ
} PnQ
#endif PnQ
¡¡¡¡ÕâÑùµÄ´úÂëµ½µ×ÊÇʲôÒâ˼ÄØ£¿Ê×ÏÈ£¬__cplusplusÊÇcppÖеÄ×Ô¶¨Òåºê£¬ÄÇô¶¨ÒåÁËÕâ¸öºêµÄ»°±íʾÕâÊÇÒ»¶ÎcppµÄ´úÂ룬Ҳ¾ÍÊÇ˵£¬ÉÏÃæµÄ´úÂëµ ......
²»Öª²»¾õÒѾ¹¤×÷Á½ÄêÁË£¬´ÇÈ¥ÁËÔÀ´µÄ¹¤×÷£¬ÓÖÅÜ»ØÁËÎÒÉÏѧµÄµØ·½¡£½ñÌìÅÜÈ¥Ò»¼ÒÊÒÓѽéÉܵĹ«Ë¾ÃæÊÔ¡£ÎʵÃÎÊÌâͦ¼òµ¥£¬µ«ÎÒ´ðµÄÈ´Õæ²»ÔõôµØ°¡¡£»ØÀ´ÓÖÑо¿ÁËһϣ¬·¢ÏÖÕâЩÎÊÌâÎÒÓ¦¸Ã¶¼Àí½â°¡£¬Ôõôµ½±ðÈËÎÊÆðµÄʱºò¾ÍÈ«ÍüÁËÒ»°ãÄØ¡£ÏëÏëÁË·¢ÏÖ»¹ÊÇѧµÄ²»µ½Î»¡£²»½ûÓÖÏëÆðÁËÕâô¶àÄêÀ´£¬ÎÒ¶¼Ñ§µ½ÁËʲô¶«Î÷ÄØ¡£
& ......
ÕûÐͳ£Á¿¾ÍÊÇÕû³£Êý¡£Ê¹ÓõÄÕû³£ÊýÓа˽øÖÆ¡¢Ê®Áù½øÖƺÍÊ®½øÖÆÈýÖÖ¡£ Ê®½øÖÆÕû³£Êý²»ÄÜÓÐÇ°µ¼0£¬²»ÄÜÓзÇÊý×Ö×Ö·û¡£ °Ë½øÖÆÕû³£Êý±ØÐëÒÔ0¿ªÍ·£¬²»ÄÜÓзÇÊý×Ö×Ö·û¡£ Ê®Áù½øÖÆÕû³£Êý±ØÐëÒ»0X»ò0x¿ªÍ·£¬²»ÄÜÓзǷ¨×Öĸ£¨ ......
×î½üÔÚÍøÉϲéÁ˺öà¹ØÓÚC²¥·ÅwavÕâ·½ÃæµÄ×ÊÁÏ£¬µ÷ÊÔ°ëÌìҲûÓнá¹û£¬Ëѵ½Ò»¸ö±àÒëºÃµÄEXEÎļþÄܲ¥·Å£¬Ã»ÓÐÔ´´úÂ룬·´»ã±à²»ÁË£¬ËÄÜÖ¸µãһϡ£¡£¡£¡£¡£ÒÔÏÂÁ½ÖÖ´úÂë¶Î£º
#include <stdio.h>
#include <dos.h>
/* wavÎļþ½á¹¹ */
typedef struct WaveData
{
unsigned long sample_le ......
ÔÚÌÖÂÛÈ«¾Ö±äÁ¿Ö®Ç°ÎÒÃÇÏÈÒªÃ÷°×¼¸¸ö»ù±¾µÄ¸ÅÄ
1. ±àÒëµ¥Ôª(Ä£¿é)£º
ÔÚIDE¿ª·¢¹¤¾ß´óÐÐÆäµÀµÄ½ñÌ죬¶ÔÓÚ±àÒëµÄһЩ¸ÅÄîºÜ¶àÈËÒѾ²»ÔÙÇå³þÁË£¬ºÜ¶à³ÌÐòÔ±×îŵľÍÊÇ´¦ÀíÁ¬½Ó´íÎó(LINK ERROR), ÒòΪËü²»Ïñ±àÒë´íÎóÄÇÑù¿ÉÒÔ¸ø³öÄã³ÌÐò´íÎóµÄ¾ßÌåλÖã¬Äã³£³£¶ÔÕâÖÖ´íÎó¸Ðµ½°ÃÄÕ£¬µ«ÊÇÈç¹ûÄã¾ ......