ÈËÉú¾ÍÊDz«ÖйúÇø

C±àÄêÊ·£º²»Ö¹ÊÇ¡°17c.c¡± £¬¸üÊÇ´úÂëÌìϵÄÊ·Ê«_07
ȪԴ£ºÖ¤È¯Ê±±¨Íø×÷ÕߣºÖì¹ãȨ2026-03-06 03:04:59
wwwzqhsauikdwjbfkjabfwqr

Ä£°åµÄÒýÈë £¬Ê¹µÃC++Äܹ»ÊµÏÖÕæÕýµÄ·ºÐͱà?³Ì £¬±àд³öÄܹ»´¦Öóͷ£¶àÖÖÊý¾ÝÀàÐ͵ÄͨÓÃËã·¨ºÍÊý¾Ý½á¹¹ £¬ÀýÈçSTL£¨StandardTemplateLibrary£©¾ÍÊÇC++98±ê׼ϵÄÓÅÒì?´ú±í £¬ËüÌṩÁ˸»ºñµÄÊý¾Ý½á¹¹ºÍËã·¨ £¬¼«´óµØÌá¸ßÁË¿ª·¢Ð§ÂÊ ¡£

ÊÖÒÕµÄǰ½øÓÀÎÞÖ¹¾³ ¡£ÔÚC++98Ðû²¼Ö®ºó £¬ÅÌËã»ú¿ÆÑ§ÁìÓòÓ¿ÏÖ³öÐí¶àеÄÍ·ÄÔºÍÊÖÒÕ £¬Í¬Ê±Ò²Ì»Â¶ÁËC++98ÔÚijЩ·½Ãæ±£´æµÄȱ·¦ ¡£ÎªÁ˸úÉÏʱ´úµÄ³ÌÐò £¬C++±ê׼ίԱ»á²¢Ã»ÓÐÍ£ÏÂǰ½øµÄ½Å²½ ¡£ËæºóµÄÿһ´Î±ê×¼¸üР£¬¶¼ÏñÊÇÒ»´Î¶ÔC++µÄ¡°ÏÖ´ú»¯¡±Ë¢Ð £¬×¢ÈëеĻîÁ¦ £¬ÐÞ¸´¾ÉµÄÉ˺Û ¡£

C++11£¨ÓÖ³ÆModernC++£©µÄÐû²¼ £¬ÊÇC++Éú³¤Àú³ÌÖеÄÓÖÒ»¸öÖ÷ҪתÕ۵㠡£ËüÒýÈëÁË´ó×ÚÏÖ´ú»¯µÄÌØÕ÷ £¬ÈçÓÒÖµÒýÓã¨rvaluereferences£©¡¢Òƶ¯ÓïÒ壨movesemantics£©¡¢lambda±í´ïʽ£¨lambdaexpressions£©¡¢×Ô¶¯ÀàÐÍÍÆµ¼£¨autokeyword£©¡¢¹æÄ£forÑ­»·£¨range-basedforloops£©µÈµÈ ¡£

¡°17c.c++¡±Õâ¸ö˵·¨ £¬×Ô¼º¿ÉÄܸü¶àµØÖ¸ÏòC++17±ê×¼ £¬»òÕß·ºÖ¸2017ÄêǰºóÊ¢ÐеÄC++°æ±¾ ¡£µ«ÎÞÂÛÔõÑù £¬Ëü¶¼ÊÇC++ÂþÉϽø»¯Ê·ÖеÄÒ»¸öÖ÷Òª½Úµã ¡£Ëü´ú?±íÁËC++ÔÚÂÄÀúÁËC++98ºÍC++11µÄÏ´Àñºó £¬Ô½·¢³ÉÊì¡¢Ô½·¢Ã÷´ú»¯µÄÃæÄ¿ ¡£

C++17±ê×¼ÔÚC++11µÄ»ù´¡ÉÏ £¬¼ÌÐøÖÂÁ¦ÓÚÌáÉý¿ª·¢ÕßµÄÉú²úÁ¦ £¬²¢ÒýÈëÁËһЩÄܹ»´øÀ´ÏÔÖøÐÔÄÜÌáÉýºÍ´úÂ뾫Á·ÐÔµÄÌØÕ÷ ¡£

ÏÖÔÚµÄC++ £¬ÔçÒѲ»ÊÇÎôʱBjarneStroustrupË­ÈË¡°CwithClasses¡±µÄÖÊÆÓÈÝò ¡£ËüÊÇÒ»¸öÖØ´ó¶øÖØ´óµÄÉú̬ϵͳ £¬Ò»¸öÒ»Ö±×ÔÎÒˢС¢Óµ±§Î´À´µÄ±à³ÌÓïÑÔ ¡£ËüµÄÃû×Ö±³ºó £¬ÊÇÎÞÊý¿ª·¢Õß¡¢±ê׼ίԱ»á³ÉÔ±ÒÔ¼°ÊÖÒÕϲ»¶ÕßµÄÅäºÏÆð¾¢ºÍÖǻ۽ᾧ ¡£

´Ó¡°CwithClasses¡±µÄÃÈÑ¿ £¬µ½C++98µÄµÓÚ¨ £¬ÔÙµ½C++11¡¢C++17¡¢C++20µÄÏÖ´ú»¯À˳± £¬C++µÄ¹ÊÊ £¬ÊÇÒ»²¿¹ØÓÚÒ»Ö±ÓâÔ½¡¢×·Çó׿ԽµÄÊ·Ê« ¡£ËüÒÔÆäÆæÒìµÄ÷ÈÁ¦ £¬¼ÌÐøÔÚÈí¼þÌìϵĸ÷¸ö½ÇÂäʩչ×Ų»¿ÉÌæ»»µÄ×÷Óà £¬²¢ÇÒ £¬ËüµÄÉúÃüÁ¦ £¬ÈÔÔÚÒÔ¾ªÈ˵ÄËÙÂÊ £¬Ò»Á¬È¼ÉÕ ¡£

BjarneStroustrupµÄÔ¶¼û׿ʶÔÚÓÚ £¬ËûÊìϤµ½ £¬´¿´âµÄÁýͳ²¢²»¿É½â¾öËùÓÐÎÊÌâ ¡£ËûʼÖÕÇ¿µ÷C++µÄ¡°Á㿪ÏúÁýͳ¡±Ô­Ôò £¬ÕâÒâζ×ÅÒýÈëµÄÁýÍ³ÌØÕ÷²»Ó¦¸Ã´øÀ´ÌØÁíÍâÔËÐÐÊмÛÇ® ¡£ÀýÈç £¬Ð麯ÊýËäÈ»ÌṩÁ˶à̬ÐÔ £¬µ«ÆäŲÓûúÖÆÔÚÉè¼ÆÊ±¾Í±»È«ÐÄÓÅ»¯ £¬ÒÔÖ»¹ÜïÔÌ­ÐÔÄÜËðʧ ¡£

ÕâÖÖ¶ÔÐÔÄܵļ«ÖÂ×·Çó £¬Ê¹µÃC++ÔÚϵͳ±à³Ì¡¢ÓÎÏ·¿ª·¢¡¢¸ßÐÔÄÜÅÌËãµÈÁìÓòʼÖÕÕ¼ÓÐמÙ×ãÇáÖØµÄְλ ¡£

Ëæ×Å¡°CwithClasses¡±µÄÒ»Ö±Éú³¤ºÍÍêÉÆ £¬ËüÖð½¥ÓâÔ½Á˼òÆÓµÄ¡°CµÄÀ©Õ¹¡±µÄÁìÓò £¬Õ¹ÏÖ³ö×ÔÁ¦µÄÓïÑÔ÷ÈÁ¦ ¡£±´¶ûʵÑéÊÒÒ²ÊìϤµ½ÕâÏîÊÖÒÕµÄDZÁ¦ £¬²¢ÔÚ1983Ä꽫ÆäÕýʽÃüÃûΪC++ ¡£Õâ¸öÃû×Ö×Ô¼º¾ÍÆÄÓÐÉîÒ⣺¡°++¡±ÊÇCÓïÑÔÖÐ×ÔÔöÔËËã·û £¬Ô¢Òâ×ÅC++ÊÇCÓïÑԵġ°Éý¼¶°æ¡±»ò¡°ÔöÇ¿°æ¡± ¡£

´Ó¡°CwithClasses¡±µ½C++ £¬Õâ²»µ«½öÊÇÃû³ÆµÄ¸Ä±ä £¬¸üÊDZà³ÌÍ·ÄÔµÄÒ»´Î?±¼ÌÚ ¡£BjarneStroustrupÒÀ¸½Æä׿ԽµÄ¶´²ìÁ¦ºÍ²»Ð¸µÄÆð¾¢ £¬ÎªÌìÏÂÁôÏÂÁËÒ»ÃÅÄܹ»¼ÝÔ¦´Óµ×²ãÓ²¼þµ½ÖØ´óÓ¦ÓõÄͨÓñà³ÌÓïÑÔ ¡£Ëû²»ÊÇÒ»¸öÔÚÄ»ºóĬĬÎÞÎŵįð²ÝÕß £¬¶øÊÇһλÔÚ´úÂëÌìÏÂÀï £¬ÓÃÔ¶¼ûºÍÖÇ»Û £¬¹´ÀÕ³öÐÛΰÀ¶Í¼µÄÐÞ½¨Ê¦ ¡£

C++µÄ½ø»¯Ö®Â·£º±ê×¼»¯¡¢ÏÖ´ú»¯ÓëÓÀºãµÄÉúÃüÁ¦

BjarneStroustrup´´ÔìC++µÄ³õÖ¾ £¬ÊÇΪÏàʶ¾öÏÖʵ¹¤³ÌÖеÄÎÊÌâ £¬µ«ËûµÄ×÷Æ·ºÜ¿ì¾ÍÎüÒýÁËÈ«Çò¿ª·¢ÕßµÄ?Ñ۹⠡£ÕâÃÅÓïÑÔÒÔÆäǿʢµÄÐÔÄÜ¡¢ÎÞаµÄÁýͳÄÜÁ¦ÒÔ¼°¶Ôµ×²ãÓ²¼þµÄÓÅÒìÖ§³Ö £¬Ñ¸ËÙÔÚÒµ½çո¶ͷ½Ç ¡£Ëæ×ÅC++µÄÆÕ±éÓ¦Óà £¬²î±ð±àÒëÆ÷Ç徲̨֮¼ä·ºÆðÁËһЩ²»?¼æÈݵÄÕ÷Ïó £¬Õâ¸ø¿çƽ̨¿ª·¢´øÀ´ÁËÌôÕ½ ¡£

ÕýÊÇÔÚÕâÑùµÄÅä¾°Ï £¬C++±ê×¼»¯µÄºôÉùÔ½À´Ô½¸ß ¡£±ê×¼»¯Òâζ×ÅΪC++½¨ÉèÒ»Ì×ͳһµÄ¹æ·¶ £¬È·±£´úÂëÔÚ²»?ͬÇéÐÎϵĿÉÒÆÖ²ÐÔºÍÒ»ÖÂÐÔ ¡£1998Äê £¬¹ú¼Ê±ê×¼»¯×éÖ¯£¨ISO£©ºÍ¹ú¼Êµç¹¤Î¯Ô±»á£¨IEC£©ÕýʽÐû²¼Á˵ÚÒ»¸öC++¹ú¼Ê±ê×¼¡ª¡ªISO/IEC14882:1998 £¬Ë׳ÆC++98 ¡£

Õâ¸öÀï³Ì±®Ê½µÄÊÂÎñ £¬±ê¼Ç×ÅC++´ÓÒ»¸öÏà¶Ô×ÔÓÉÉú³¤µÄÓïÑÔ £¬×ßÏòÁ˹淶»¯¡¢ÏµÍ³»¯µÄÉú³¤½×¶Î ¡£

C++98±ê×¼µÄÐû²¼ £¬ÎªC++ÓïÑÔµÓÚ¨Á˼áʵµÄ»ù´¡ £¬ËüÈ·Á¢ÁËÐí¶à½¹µãÌØÕ÷ £¬ÈçÄ£°å£¨templates£©¡¢Òì³£´¦Öóͷ££¨exceptionhandling£©¡¢RTTI£¨Run-TimeTypeInformation£©µÈ ¡£ÕâÐ©ÌØÕ÷µÄ¼ÓÈë £¬¼«´óµØÔöÇ¿ÁËC++µÄ±í?´ïÄÜÁ¦ºÍ¹¤³Ìʵ¼ùÄÜÁ¦ ¡£

ÕâÐ©ÌØÕ÷µÄ¼ÓÈë £¬¼«´óµØÌáÉýÁËC++µÄ?¿ª·¢Ð§ÂʺʹúÂëµÄ¿É¶ÁÐÔ £¬²¢ÇÒÔÚÐÔÄÜÉÏÒ²Óв»ÉÙÓÅ»¯ ¡£ÀýÈç £¬Òƶ¯ÓïÒåµÄÒýÈë £¬Ê¹µÃC++ÔÚ´¦Öóͷ£´ó×ÚÔÝʱ¹¤¾ßʱ £¬Äܹ»×èÖ¹²»ÐëÒªµÄ¿½±´ £¬´Ó¶øÏÔÖøÌá¸ßÐÔÄÜ ¡£lambda±í´ïʽÔòÈú¯Êýʽ±à³ÌµÄÆø¸ÅÔÚC++ÖеÃÒÔʵÏÖ £¬Ê¹µÃ±àд¾«Á·¡¢¸ßЧµÄÄäÃûº¯Êý³ÉΪ¿ÉÄÜ ¡£

C++11Ö®ºó £¬C++µÄ±ê×¼»¯Àú³Ì¼ÓËÙ ¡£C++14¡¢C++17¡¢C++20 £¬ÒÔÖÂ×îеÄ?C++23 £¬±ê׼ίԱ»áÿÄê»òÁ½ÄêÐû²¼Ò»´Îбê×¼ £¬Ò»Ö±µØÎªC++×¢ÈëеÄѪҺ ¡£C++14´øÀ´ÁËÈç·ºÐÍlambda¡¢¶þ½øÖÆ×ÖÃæÁ¿µÈˢР£»C++17ÒýÈëÁËÈ´¹¹»¯°ó¶¨£¨structuredbindings£©¡¢ifconstexpr¡¢std::optional¡¢std::variantµÈ £¬½øÒ»²½¼ò»¯ÁË´úÂë £¬Ìá¸ßÁËÇå¾²ÐÔ £»C++20¸üÊÇ¿°³ÆÒ»´Î¡°´ó°æ±¾¸üС± £¬ÒýÈëÁËÄ£¿é£¨modules£©¡¢¿´·¨£¨concepts£©¡¢Ð­³Ì£¨coroutines£©¡¢¹æÄ££¨ranges£©µÈÇ㸲ÐÔÌØÕ÷ £¬¼«´óµØÔöÇ¿ÁËC++µÄ?±í´ïÄÜÁ¦ºÍ¹¤³Ì»¯ÄÜÁ¦ £¬Ò²ÈÃC++ÔÚ²¢?·¢±à³Ì¡¢Òì²½±à³ÌµÈÁìÓò¸ü¾ß¾ºÕùÁ¦ ¡£

²î±ðÓïÑÔ¸÷Ö´Ò»´Ê £¬Îª¿ª·¢Õß´øÀ´Á˲»ÉÙÀ§ÈÅ ¡£

¹ÊʵÄÖ÷È˹« £¬Êǵ¤ÂóÅÌËã»ú¿ÆÑ§¼ÒBjarneStroustrup£¨²¼À³¶÷¡¤¿ËÄẺ£© £¬Ò»Î»ÔÚ±´¶ûʵÑéÊÒÊÂÇéµÄÏÈÇý ¡£ËûÉîÖª £¬ÔÚ¿ª·¢´óÐÍ¡¢ÖØ´óµÄϵͳʱ £¬¼ÈÐèÒªCÓïÑÔµÄЧÂÊºÍµ×²ã¿ØÖÆÄÜÁ¦ £¬ÓÖÅÎÔ¸¸ü¸ß¼¶µÄÁýͳºÍÄ£¿é»¯ ¡£Æäʱ £¬SimulaÓïÑÔµÄÃæÏò¹¤¾ßÌØÕ÷¸øËûÁôÏÂÁËÉî¿ÌÓ¡Ïó £¬µ«ËûÓÖÒÔΪSimulaµÄЧÂʲ»?×ãÒÔÖª×ãϵͳ¼¶±à³ÌµÄÐèÇó ¡£

ÓÚÊÇ £¬Ò»¸ö´óµ¨µÄÏë·¨ÔÚËûÐÄÖÐÃÈÑ¿£ºÄÜ·ñ½«CÓïÑÔµÄǿʢÓëÃæÏò¹¤¾ß±à³ÌµÄ±ãµ±ÐÔÍŽáÆðÀ´£¿

1979Äê £¬BjarneStroustrup×îÏÈÁËËûµÄ¡°CwithClasses¡±ÏîÄ¿ £¬Õâ¼´ÊÇC++×îÔçµÄ³ûÐÎ ¡£Ëû²¢·Ç´ÓÁã×îÏÈ £¬¶øÊÇÕ¾ÔÚ¾ÞÈ˵ļç°òÉÏ¡ª¡ª¼ÌÐøÁËCÓïÑÔ¾«Á·¡¢¸ßЧµÄÒ²§ £¬²¢ÇÉÃîµØÒýÈëÁËÀࣨclass£©µÄ¿´·¨ £¬ÒÔ¼°ÓëÖ®Ïà¹ØµÄ·â×°¡¢¼ÌÐøºÍ¶à̬µÈÃæÏò¹¤¾ßµÄ½¹µãÌØÕ÷ ¡£

Õâ¾ÍÏñÊÇÔÚÒ»¼þÓÅÒìµÄ¹¤ÒµÆ·ÉÏ £¬¾«µñϸ×ÁµØ¼ÓÈëÁ˸ü¶àÈËÐÔ»¯µÄ¹¦Ð§ £¬Ê¹ÆäÔ½·¢Ç¿Ê¢ÇÒÒ×ÓÚʹÓà ¡£

¡°CwithClasses¡±µÄ½µÉú £¬²¢·ÇÒ»õí¶ø¾ÍµÄÁé¹âÕ§ÏÖ £¬¶øÊÇBjarneStroustrup¶Ô±à³ÌЧÂÊ¡¢´úÂë¿Éά»¤ÐÔºÍϵͳÐÔÄܵÄÉî¿Ì¶´²ìÓ벻и׷ÇóµÄ½á¾§ ¡£ËûÏ£Íû´´ÔìÒ»ÖÖÓïÑÔ £¬¼ÈÄÜÈóÌÐòÔ±¡°´¥Ãþµ½Ó²¼þµÄÂö²«¡± £¬ÓÖÄÜÈÃËûÃÇ¡°¹¹½¨³öÐÛΰµÄÈí¼þµîÌá± ¡£

ÕâÖÖË«ÖØÄ¿µÄ £¬³ÉΪÁËC++ÔçÆÚÉè¼ÆÖÐ×î½¹µãµÄÇý¶¯Á¦ ¡£

ÔçÆÚµÄ?¡°CwithClasses¡±ÔںܺéÁ÷ƽÉϱ£´æÁËCÓïÑÔµÄÓï·¨ºÍÓïÒå £¬ÕâʹµÃ´ÓCÓïÑÔǨáã¹ýÀ´µÄ³ÌÐòÔ±Äܹ»Ïà¶ÔÇáËɵØË³Ó¦ ¡£ÃæÏò¹¤¾ßÌØÕ÷µÄÒýÈë £¬ÎªÈí¼þ¿ª·¢´øÀ´Á˸ïÃüÐԵĸıä? ¡£Àà³ÉΪÁ˹¹½¨ÖØ´ó³ÌÐòµÄ»ùʯ £¬ÔÊÐí¿ª·¢Õß½«Êý¾ÝºÍ²Ù×÷Êý¾ÝµÄÒªÁì·â×°ÔÚÒ»Æð £¬ÐγÉ×ÔÁ¦µÄÄ£¿é ¡£

ÕâÖÖ·â×°ÐÔ²»µ«Ìá¸ßÁË´úÂëµÄ¿É¶ÁÐԺͿÉά»¤ÐÔ £¬»¹¼«´óµØïÔÌ­ÁËÒòÈ«¾Ö±äÁ¿µÈ?ÎÊÌâ´øÀ´µÄ³ÌÐò¹ýʧ ¡£

¼ÌÐø»úÖÆÔòÔÊÐí½¨ÉèеÄÀà £¬ÕâЩÐÂÀà¿ÉÒÔ¼ÌÐøÏÖÓÐÀàµÄÊôÐÔºÍÐÐΪ £¬´Ó¶ø×èÖ¹ÁË´úÂëµÄÖØ¸´±àд £¬Ìá¸ßÁË¿ª·¢Ð§ÂÊ ¡£¶ø¶à̬ÐÔÔòʹµÃ³ÌÐòÔÚÔËÐÐʱÄܹ»Æ¾Ö¤¹¤¾ßµÄÏÖʵÀàÐÍ×ö³ö?²î±ðµÄÐÐΪ £¬ÕâΪ±àдԽ·¢ÎÞаºÍ¿ÉÀ©Õ¹µÄ´úÂëÌṩÁË¿ÉÄÜ ¡£

ÔðÈα༭£º Öì¹ãȨ
ÉùÃ÷£ºÖ¤È¯Ê±±¨Á¦ÕùÐÅÏ¢ÕæÊµ¡¢×¼È· £¬ÎÄÕÂÌá¼°ÄÚÈݽö¹©²Î¿¼ £¬²»×é³ÉʵÖÊÐÔͶ×ʽ¨Òé £¬¾Ý´Ë²Ù×÷Σº¦×Ôµ£
ÏÂÔØ¡°Ö¤È¯Ê±±¨¡±¹Ù·½APP £¬»ò¹Ø×¢¹Ù·½Î¢ÐŹ«ÖںŠ£¬¼´¿ÉËæÊ±Ïàʶ¹ÉÊж¯Ì¬ £¬¶´²ìÕþ²ßÐÅÏ¢ £¬ÕÆÎղƲú»ú»á ¡£
ÍøÓÑ̸ÂÛ
µÇ¼ºó¿ÉÒÔ½²»°
·¢ËÍ
ÍøÓÑ̸ÂÛ½ö¹©Æä±í´ïСÎÒ˽¼Ò¿´·¨ £¬²¢²»Åúע֤ȯʱ±¨Ì¬¶È
ÔÝÎÞ̸ÂÛ
ΪÄãÍÆ¼ö
´©!Ô½{ÆÆ}·¢ °Â¿Ë˹µçÆøµÄС²¨Ìδ󿴵ã
ÍøÕ¾µØÍ¼