ÓÑÇéÌáʾ£ºÈç¹û±¾ÍøÒ³´ò¿ªÌ«Âý»òÏÔʾ²»ÍêÕû£¬Çë³¢ÊÔÊó±êÓÒ¼ü¡°Ë¢Ð¡±±¾ÍøÒ³£¡ÔĶÁ¹ý³Ì·¢ÏÖÈκδíÎóÇë¸æËßÎÒÃÇ£¬Ð»Ð»£¡£¡ ±¨¸æ´íÎó
С˵һÆð¿´ ·µ»Ø±¾ÊéĿ¼ ÎÒµÄÊé¼Ü ÎÒµÄÊéÇ© TXTÈ«±¾ÏÂÔØ ½øÈëÊé°É ¼ÓÈëÊéÇ©

Èí¼þ¹¤³Ì˼Ïë-µÚ42ÕÂ

°´¼üÅÌÉÏ·½Ïò¼ü ¡û »ò ¡ú ¿É¿ìËÙÉÏÏ·­Ò³£¬°´¼üÅÌÉ쵀 Enter ¼ü¿É»Øµ½±¾ÊéĿ¼ҳ£¬°´¼üÅÌÉÏ·½Ïò¼ü ¡ü ¿É»Øµ½±¾Ò³¶¥²¿£¡
¡ª¡ª¡ª¡ªÎ´ÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡



£ý£»

¡¡¡¡Èç¹û»ùÀàA¶¨ÒåÈçÏ£º
class¡¡A
¡¡¡¡£û
¡¡¡¡¡¡¡¡public£º
¡¡¡¡virtual¡¡void¡¡¡¡Func1£¨void£©=0£»
¡¡¡¡£ý£»
ÄÇôº¯ÊýFunc1½Ð×÷´¿Ð麯Êý£¬º¬Óд¿Ð麯ÊýµÄÀà½Ð×÷³éÏó»ùÀà¡£³éÏó»ùÀàÖ»¹Ü¶¨Òå´¿Ð麯ÊýµÄÐÎʽ£¬¾ßÌåµÄ¹¦ÄÜÓÉÅÉÉúÀàʵÏÖ¡£
¡¡¡¡½áºÏ¡°³éÏó»ùÀࡱºÍ¡°¶à̬¡±ÓÐÈçÏÂÍ»³öÓŵ㣺
£¨1£©Ó¦ÓóÌÐò²»±ØÎªÃ¿Ò»¸öÅÉÉúÀà±àд¹¦Äܵ÷Óã¬Ö»ÐèÒª¶Ô³éÏó»ùÀà½øÐд¦Àí¼´¿É¡£ÕâÒ»ÕнС°ÒÔ²»±äÓ¦Íò±ä¡±£¬¿ÉÒÔ´ó´óÌá¸ß³ÌÐòµÄ¿É¸´ÓÃÐÔ£¨ÕâÊǽӿÚÉè¼ÆµÄ¸´Ó㬶ø²»ÊÇ´úÂëʵÏֵĸ´Óã©¡£
£¨2£©ÅÉÉúÀàµÄ¹¦ÄÜ¿ÉÒÔ±»»ùÀàÖ¸ÕëÒýÓã¬Õâ½ÐÏòºó¼æÈÝ£¬¿ÉÒÔÌá¸ß³ÌÐòµÄ¿ÉÀ©³äÐԺͿÉά»¤ÐÔ¡£ÒÔǰдµÄ³ÌÐò¿ÉÒÔ±»½«À´Ð´µÄ³ÌÐòµ÷Óò»×ãÎªÆæ£¬µ«Êǽ«À´Ð´µÄ³ÌÐò¿ÉÒÔ±»ÒÔǰдµÄ³ÌÐòµ÷ÓÃÄÇ¿ÉÁ˲»Æð¡£

6¡£2¡¡¡¡Á¼ºÃµÄ±à³Ì·ç¸ñ

¡¡¡¡ÄÚ¹¦ÉîºñµÄÎäÁÖ¸ßÊÖ³öÕÐÍùÍùƽµ­ÎÞÆæ¡£Í¬Àí£¬±à³Ì¸ßÊÖÒ²²»»áÓÃÆæÃŹÖÕÐд³ÌÐò¡£Á¼ºÃµÄ±à³Ì·ç¸ñÊDzúÉú¸ßÖÊÁ¿³ÌÐòµÄǰÌá¡£

6¡£2¡£1¡¡ÃüÃûÔ¼¶¨
¡¡¡¡Óв»ÉÙÈ˱à³ÌʱÓÃÆ´Òô¸øº¯Êý»ò±äÁ¿ÃüÃû£¬ÕâÑù×ö²¢²»ÄÜ˵Ã÷ÄãºÜ°®¹ú£¬È´»áÈÃÓô˳ÌÐòµÄÈËÃÔºý£¨ºÜ¶àÄÏ·½È˲»¶®Æ´Òô£¬ÎҾͲ»¶®£©¡£³ÌÐòÖеÄÓ¢ÎÄÒ»°ã²»»áÌ«¸´ÔÓ£¬ÓôÊÒªÁ¦Çó׼ȷ¡£
¡¡¡¡ÐÙÑÀÀûÃüÃû·¨ÊÇMicrosoft¹«Ë¾³«µ¼µÄ¡¡£§Maguire¡¡1993£§£¬ËäÈ»ºÜ·³Ëö£¬µ«ÓÃϰ¹ßÁËÒ²¾Í³ÉÁË×ÔÈ»¡£Ã»ÓÐÈËÇ¿ÆÈÄã²ÉÓúÎÖÖÃüÃû·¨£¬µ«ÓÐÒ»µãÓ¦¸Ã×öµ½£º×Ô¼ºµÄ³ÌÐòÃüÃû±ØÐëÒ»Ö¡£
¡¡¡¡ÒÔÏÂÊÇÎÒ±à³Ìʱ²ÉÓõÄÃüÃûÔ¼¶¨£º
£¨1£©ºê¶¨ÒåÓôóд×Öĸ¼ÓÏ»®Ïß±íʾ£¬ÈçMAX_LENGTH£»
£¨2£©º¯ÊýÓôóд×Öĸ¿ªÍ·µÄµ¥´Ê×éºÏ¶ø³É£¬ÈçSetName£»¡¡GetName¡¡£»
£¨3£©Ö¸Õë±äÁ¿¼Óǰ׺p£¬Èç¡¡*pNode¡¡£»
£¨4£©BOOL¡¡±äÁ¿¼Óǰ׺b£¬Èç¡¡bFlag¡¡£»
£¨5£©int¡¡±äÁ¿¼Óǰ׺i£¬Èç¡¡iWidth¡¡£»
£¨6£©float¡¡±äÁ¿¼Óǰ׺f£¬Èç¡¡fWidth¡¡£»
£¨7£©double±äÁ¿¼Óǰ׺d£¬Èç¡¡dWidth¡¡£»
£¨8£©×Ö·û´®±äÁ¿¼Óǰ׺str£¬Èç¡¡strName¡¡£»
£¨9£©Ã¶¾Ù±äÁ¿¼Óǰ׺e£¬Èç¡¡eDrawMode¡¡£»
£¨10£©ÀàµÄ³ÉÔ±±äÁ¿¼Óǰ׺m_£¬Èç¡¡m_strName£»¡¡m_iWidth¡¡£»
¶ÔÓÚ¡¡int£»¡¡float£»¡¡double¡¡Ð͵ıäÁ¿£¬Èç¹û±äÁ¿ÃûµÄº¬ÒåÊ®·ÖÃ÷ÏÔ£¬Ôò²»¼Óǰ׺£¬±ÜÃâ·³Ëö¡£ÈçÓÃÓÚÑ­»·µÄintÐͱäÁ¿¡¡i£»j£»k¡¡£»float¡¡Ð͵ÄÈýÎ¬×ø±ê£¨x£»y£»z£©µÈ¡£

6¡£2¡£2¡¡Ê¹ÓöÏÑÔ
¡¡¡¡³ÌÐòÒ»°ã·ÖΪDebug°æ±¾ºÍRelease°æ±¾£¬Debug°æ±¾ÓÃÓÚÄÚ²¿µ÷ÊÔ£¬Release°æ±¾·¢ÐиøÓû§Ê¹Óá£
¡¡¡¡¶ÏÑÔassertÊǽöÔÚDebug°æ±¾Æð×÷Óõĺ꣬ËüÓÃÓÚ¼ì²é¡°²»Ó¦¸Ã¡±·¢ÉúµÄÇé¿ö¡£ÒÔÏÂÊÇÒ»¸öÄÚ´æ¸´ÖÆ³ÌÐò£¬ÔÚÔËÐйý³ÌÖУ¬Èç¹ûassertµÄ²ÎÊýΪ¼Ù£¬ÄÇô³ÌÐò¾Í»áÖÐÖ¹£¨Ò»°ãµØ»¹»á³öÏÖÌáʾ¶Ô»°£¬ËµÃ÷ÔÚʲôµØ·½Òý·¢ÁËassert£©¡£
//¸´ÖƲ»ÖصþµÄÄÚ´æ¿é
void¡¡¡¡memcpy£¨void¡¡*pvTo£»¡¡void¡¡*pvFrom£»¡¡size_t¡¡size£©
¡¡¡¡£û
void¡¡*pbTo¡¡=¡¡£¨byte¡¡*£©¡¡pvTo£»
void¡¡*pbFrom¡¡=¡¡£¨byte¡¡*£©¡¡pvFrom£»
assert£¨¡¡pvTo¡¡£¡=¡¡NULL¡¡¡¡&&¡¡¡¡pvFrom¡¡£¡=¡¡NULL¡¡£©£»
while£¨size¡¡¡­¡¡¡­¡¡¡·¡¡0¡¡£©
*pbTo¡¡£«¡¡£«¡¡=¡¡*pbFrom¡¡£«¡¡£«¡¡£»
return¡¡£¨pvTo£©£»
¡¡¡¡£ý
¡¡¡¡assert²»ÊÇÒ»¸ö²Ö´ÙÆ´´ÕÆðÀ´µÄºê£¬ÎªÁ˲»ÔÚ³ÌÐòµÄDebug°æ±¾ºÍRelease°æ±¾ÒýÆð²î±ð£¬assert²»Ó¦¸Ã²úÉúÈκθ±×÷Óá£ËùÒÔassert²»ÊǺ¯Êý£¬¶øÊǺꡣ³ÌÐòÔ±¿ÉÒÔ°Ñassert¿´³ÉÒ»¸öÔÚÈκÎϵͳ״̬϶¼¿ÉÒÔ°²È«Ê¹ÓõÄÎÞº¦²âÊÔÊֶΡ£
¡¡¡¡ºÜÉÙÓбȸú×Ùµ½³ÌÐòµÄ¶ÏÑÔ£¬È´²»ÖªµÀ¸Ã¶ÏÑÔµÄ×÷ÓøüÈÃÈ˾ÚÉ¥µÄÊÂÁË¡£Ä㻯Á˺ܶàʱ¼ä£¬²»ÊÇΪÁËÅųý´íÎ󣬶øÖ»ÊÇΪÁËŪÇå³þÕâ¸ö´íÎóµ½µ×ÊÇʲô¡£ÓеÄʱºò£¬³ÌÐòԱż¶û»¹»áÉè¼Æ³öÓдíÎóµÄ¶ÏÑÔ¡£ËùÒÔÈç¹û¸ã²»Çå³þ¶ÏÑÔ¼ì²éµÄÊÇʲô£¬¾ÍºÜÄÑÅжϴíÎóÊdzöÏÖÔÚ³ÌÐòÖУ¬»¹ÊdzöÏÖÔÚ¶ÏÑÔÖС£ÐÒÔ˵ÄÊÇÕâ¸öÎÊÌâºÜºÃ½â¾ö£¬Ö»Òª¼ÓÉÏÇåÎúµÄ×¢Êͼ´¿É¡£Õâ±¾ÊÇÏÔ¶øÒ×¼ûµÄÊÂÇ飬¿ÉÊǺÜÉÙÓгÌÐòÔ±ÕâÑù×ö¡£ÕâºÃ±ÈÒ»¸öÈËÔÚÉ­ÁÖÀ¿´µ½Ê÷É϶¤×ÅÒ»¿é¡°Î£ÏÕ¡±µÄ´óÅÆ×Ó¡£µ«Î£ÏÕµ½µ×ÊÇʲô£¿Ê÷Òªµ¹£¿ÓзϾ®£¿ÓÐÒ°ÊÞ£¿³ý·Ç¸æËßÈËÃÇ¡°Î£ÏÕ¡±ÊÇʲô£¬·ñÔòÕâ¸ö¾¯¸æÅÆÄÑÒÔÆðµ½»ý¼«ÓÐЧµÄ×÷Óá£ÄÑÒÔÀí½âµÄ¶ÏÑÔ³£³£±»³ÌÐòÔ±ºöÂÔ£¬ÉõÖÁ±»É¾³ý¡££§Maguire¡¡1993£§
¡¡¡¡ÒÔÏÂÊÇʹÓöÏÑԵöÔ­Ôò£º
£¨1£©Ê¹ÓöÏÑÔ²¶×½²»Ó¦¸Ã·¢ÉúµÄ·Ç·¨Çé¿ö¡£²»Òª»ìÏý·Ç·¨Çé¿öÓë´íÎóÇé¿öÖ®¼äµÄÇø±ð£¬ºóÕßÊDZØÈ»´æÔڵIJ¢ÇÒÊÇÒ»¶¨Òª×÷³ö´¦ÀíµÄ¡£
£¨2£©Ê¹ÓöÏÑÔ¶Ôº¯ÊýµÄ²ÎÊý½øÐÐÈ·ÈÏ¡£
£¨3£©ÔÚ±àдº¯Êýʱ£¬Òª½øÐз´¸´µÄ¿¼²é£¬²¢ÇÒ×ÔÎÊ£º¡°ÎÒ´òËã×öÄÄЩ¼Ù¶¨£¿¡±Ò»µ©È·¶¨Á˵ļٶ¨£¬¾ÍҪʹÓöÏÑÔ¶Ô¼Ù¶¨½øÐмì²é¡£
£¨4£©Ò»°ã½Ì¿ÆÊé¶¼¹ÄÀø³ÌÐòÔ±ÃǽøÐзÀ´íÐԵijÌÐòÉè¼Æ£¬µ«Òª¼ÇסÕâÖÖ±à³Ì·ç¸ñ»áÒþÂ÷´íÎó¡£µ±½øÐзÀ´íÐÔ±à³Ìʱ£¬Èç¹û¡°²»¿ÉÄÜ·¢Éú¡±µÄÊÂÇéµÄÈ··¢ÉúÁË£¬ÔòҪʹÓöÏÑÔ½øÐб¨¾¯¡£

6¡£2¡£3¡¡¡¡new¡¢deleteÓëÖ¸Õë
ÔÚC£«£«ÖУ¬²Ù×÷·ûnewÓÃÓÚÉêÇëÄڴ棬²Ù×÷·ûdeleteÓÃÓÚÊÍ·ÅÄÚ´æ¡£ÔÚCÓïÑÔÖУ¬º¯ÊýmallocÓÃÓÚÉêÇëÄڴ棬º¯ÊýfreeÓÃÓÚÊÍ·ÅÄÚ´æ¡£ÓÉÓÚC£«£«¼æÈÝCÓïÑÔ£¬ËùÒÔnew¡¢delete¡¢malloc¡¢free¶¼ÓпÉÄÜÒ»ÆðʹÓá£newÄܱÈmalloc¸É¸ü¶àµÄÊ£¬Ëü¿ÉÒÔÉêÇë¶ÔÏóµÄÄڴ棬¶ømalloc²»ÄÜ¡£
C£«£«ºÍCÓïÑÔÖеÄÖ¸ÕëÍþÃÍÎޱȣ¬ÓôíÁË»á´øÀ´ÔÖÄÑ¡£¶ÔÓÚÒ»¸öÖ¸Õëp£¬Èç¹ûÊÇÓÃnewÉêÇëµÄÄڴ棬Ôò±ØÐëÓÃdelete¶ø²»ÄÜÓÃfreeÀ´ÊÍ·Å¡£Èç¹ûÊÇÓÃmallocÉêÇëµÄÄڴ棬Ôò±ØÐëÓÃfree¶ø²»ÄÜÓÃdeleteÀ´ÊÍ·Å¡£
ÔÚÓÃdelete»òÓÃfreeÊÍ·ÅpËùÖ¸µÄÄÚ´æºó£¬Ó¦¸ÃÂíÉÏÏÔʽµØ½«pÖÃΪNULL£¬ÒÔ·ÀÏ´ÎʹÓÃpʱ·¢Éú´íÎó¡£Ê¾Àý³ÌÐòÈçÏ£º
void¡¡Test£¨void£©
¡¡¡¡£û
float¡¡*p£»
p¡¡=¡¡new¡¡float£§100£§£»
if£¨pNULL£©¡¡return£»
¡­//¡¡do¡¡something
delete¡¡p£»
p=NULL£»¡¡¡¡¡¡//¡¡Á¼ºÃµÄ±à³Ì·ç¸ñ

//¡¡¿ÉÒÔ¼ÌÐøÊ¹ÓÃp
p¡¡=¡¡new¡¡float£§500£§£»
if£¨pNULL£©¡¡return£»
¡­//¡¡do¡¡something¡¡else
delete¡¡p£»
p=NULL£»¡¡
¡¡¡¡£ý

ÎÒÃÇ»¹ÒªÔ¤·À¡°Ò°Ö¸Õ롱£¬¡°Ò°Ö¸Õ롱ÊÇÖ¸Ïò¡°À¬»ø¡±ÄÚ´æµÄÖ¸Õ룬Ö÷Òª³ÉÒòÓÐÁ½ÖÖ£º
£¨1£©Ö¸ÕëûÓгõʼ»¯¡£
£¨2£©Ö¸ÕëÖ¸ÏòÒѾ­ÊͷŵÄÄڴ棬ÕâÖÖÇé¿ö×îÈÃÈË·À²»Ê¤·À£¬Ê¾Àý³ÌÐòÈçÏ£º
class¡¡A¡¡
¡¡¡¡£û
¡¡¡¡public£º
¡¡¡¡void¡¡Func£¨void£©£û¡­£ý
¡¡¡¡£ý£»
void¡¡Test£¨void£©
£û
A¡¡¡¡*p£»
£û
A¡¡¡¡a£»
p¡¡=¡¡&a£»//¡¡×¢Òâ¡¡a¡¡µÄÉúÃüÆÚ
¡¡¡¡£ý
p¡­¡·Func£¨£©£»//¡¡pÊÇ¡°Ò°Ö¸Õ롱£¬³ÌÐò³ö´í
¡¡¡¡£ý

6¡£2¡£4¡¡Ê¹ÓÃconst
ÔÚ¶¨ÒåÒ»¸ö³£Á¿Ê±£¬const±È¡¡#define¸ü¼ÓÁé»î¡£ÓÃconst¶¨ÒåµÄ³£Á¿º¬ÓÐÊý¾ÝÀàÐÍ£¬¸Ã³£Á¿¿ÉÒÔ²ÎÓëÂß¼­ÔËËã¡£ÀýÈ磺
constint¡¡LENGTH¡¡=¡¡100£»//¡¡LENGTHÊÇintÀàÐÍ
constfloatMAX=100£»//¡¡MAXÊÇfloatÀàÐÍ
#defineLENGTH¡¡¡¡100//¡¡LENGTH¡¡ÎÞÀàÐÍ
#defineMAX¡¡100//¡¡MAX¡¡ÎÞÀàÐÍ

³ýÁËÄܶ¨Òå³£Á¿Í⣬const»¹ÓÐÁ½¸ö¡°±£»¤¡±¹¦ÄÜ£º
¡¡¡¡Ò»¡¢Ç¿ÖƱ£»¤º¯ÊýµÄ²ÎÊýÖµ²»·¢Éú±ä»¯
ÒÔϳÌÐòÖУ¬º¯Êýf²»»á¸Ä±äÊäÈë²ÎÊýnameµÄÖµ£¬µ«ÊǺ¯ÊýgºÍh¶¼ÓпÉÄܸıänameµÄÖµ¡£
void¡¡f£¨String¡¡¡¡s£©£»//¡¡pass¡¡by¡¡value
void¡¡g£¨String¡¡&s£©£»//¡¡pass¡¡by¡¡referance
void¡¡h£¨String¡¡*s£©£»//¡¡pass¡¡by¡¡pointer
main£¨£©
¡¡¡¡£û
String¡¡¡¡name=¡°Dog¡±£»
f£¨name£©£»//¡¡nameµÄÖµ²»»á¸Ä±ä
g£¨name£©£»//¡¡nameµÄÖµ¿ÉÄܸıä
h£¨name£©£»//¡¡nameµÄÖµ¿ÉÄܸıä
¡¡¡¡£ý

¶ÔÓÚÒ»¸öº¯Êý¶øÑÔ£¬Èç¹ûÆä¡®&¡¯»ò¡®*¡¯ÀàÐ͵IJÎÊýÖ»×÷ÊäÈëÓ㬲»×÷Êä³öÓã¬ÄÇôӦµ±ÔڸòÎÊýǰ¼ÓÉÏconst£¬ÒÔÈ·±£º¯ÊýµÄ´úÂë²»»á¸Ä±ä¸Ã²ÎÊýµÄÖµ£¨Èç¹û¸Ä±äÁ˸òÎÊýµÄÖµ£¬±àÒëÆ÷»á³öÏÖ´íÎ󾯸棩¡£Òò´ËÉÏÊö³ÌÐòÖеĺ¯ÊýgºÍhÓ¦¸Ã¶¨Òå³É£º
void¡¡¡¡g£¨const¡¡String¡¡&s£©£»
void¡¡¡¡h£¨const¡¡String¡¡*s£©£»

¡¡¡¡¶þ¡¢Ç¿ÖƱ£»¤ÀàµÄ³ÉÔ±º¯Êý²»¸Ä±äÈκÎÊý¾Ý³ÉÔ±µÄÖµ
ÒÔϳÌÐòÖУ¬ÀàstackµÄ³ÉÔ±º¯ÊýCount½öÓÃÓÚ¼ÆÊý£¬ÎªÁËÈ·±£Count²»¸Ä±äÀàÖеÄÈκÎÊý¾Ý³ÉÔ±µÄÖµ£¬Ó¦½«º¯ÊýCount¶¨Òå³ÉconstÀàÐÍ¡£
class¡¡Stack
¡¡¡¡£û
¡¡¡¡public£º
void¡¡push£¨int¡¡elem£©£»
void¡¡pop£¨void£©£»
intCount£¨void£©¡¡¡¡const£»//¡¡constÀàÐ͵ĺ¯Êý
¡¡¡¡private£º
intnum£»
intdata£§100£§£»
¡¡¡¡£ý£»

int¡¡Stack£º£ºCount£¨void£©¡¡¡¡const
¡¡¡¡£û
£«£«¡¡num£»//¡¡±àÒë´íÎó£¬numÖµ·¢Éú±ä»¯
¡¡¡¡pop£¨£©£»//¡¡±àÒë´íÎó£¬pop½«¸Ä±ä³ÉÔ±±äÁ¿µÄÖµ
¡¡¡¡return¡¡num£»
£ý

6¡£2¡£5¡¡ÆäËü½¨Òé
£¨1£©²»Òª±àдһÌõ¹ý·Ö¸´ÔÓµÄÓï¾ä£¬½ô´ÕµÄC£«£«/C´úÂë²¢²»¼ûµ½Äܵõ½¸ßЧÂʵĻ
·µ»ØÄ¿Â¼ ÉÏÒ»Ò³ ÏÂÒ»Ò³ »Øµ½¶¥²¿ ÔÞ£¨0£© ²È£¨0£©
δÔĶÁÍꣿ¼ÓÈëÊéÇ©ÒѱãÏ´μÌÐøÔĶÁ£¡
ÎÂܰÌáʾ£º ο´Ð¡ËµµÄͬʱ·¢±íÆÀÂÛ£¬Ëµ³ö×Ô¼ºµÄ¿´·¨ºÍÆäËüС»ï°éÃÇ·ÖÏíÒ²²»´íŶ£¡·¢±íÊéÆÀ»¹¿ÉÒÔ»ñµÃ»ý·ÖºÍ¾­Ñé½±Àø£¬ÈÏÕæÐ´Ô­´´ÊéÆÀ ±»²ÉÄÉΪ¾«ÆÀ¿ÉÒÔ»ñµÃ´óÁ¿½ð±Ò¡¢»ý·ÖºÍ¾­Ñé½±ÀøÅ¶£¡