»Æ½ð³ÇÍøÕ¾

C±àÄêÊ·£º²»Ö¹ÊÇ¡°17c.c¡±£¬¸üÊÇ´úÂëÌìϵÄÊ·Ê«_07
ȪԴ£ºÖ¤È¯Ê±±¨Íø×÷ÕߣºËÎÏþ¾ü2026-03-05 22:40:22
wwwzqhsauikdwjbfkjabfwqr

ÕâÐ©ÌØÕ÷µÄ¼ÓÈ룬¼«´ó?µØÌáÉýÁË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++ÔÚ²¢·¢±à³Ì¡¢Òì²½±à³ÌµÈÁìÓò¸ü¾ß¾ºÕùÁ¦¡£

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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++µÄ±í´ïÄÜÁ¦ºÍ¹¤³Ìʵ¼ùÄÜÁ¦¡£

¡°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++µÄ¹ÊÊ£¬ÊÇÒ»²¿¹ØÓÚÒ»Ö±ÓâÔ½¡¢×·Çó׿ԽµÄÊ·Ê«¡£ËüÒÔÆäÆæÒìµÄ÷ÈÁ¦£¬¼ÌÐøÔÚÈí¼þÌìϵĸ÷¸ö½ÇÂäʩչ×Ų»¿ÉÌæ»»µÄ×÷Ó㬲¢ÇÒ£¬ËüµÄÉúÃüÁ¦£¬ÈÔÔÚÒÔ¾ªÈ˵ÄËÙÂÊ£¬Ò»Á¬È¼ÉÕ¡£

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