»Æ½ð³ÇÍøÕ¾

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

C++µÄÀèÃ÷£º´Ó¡°CwithClasses¡±µ½Ò»Î»ÏÈÇýµÄÔ¶¼û

ÔÚÖÚ¶àµÄÅÌËã»ú¿ÆÑ§ÐÇ¿ÕÖУ¬C++ÎÞÒÉÊÇÒ»¿Åè­è²ÐÑÄ¿µÄÃ÷ÐÇ¡£µ±ÄãÌáÆð¡°17c.c++¡±Ê±£¬»òÐí»áºÃÆæ£¬ÊÂʵÊÇË­£¬ÓÖÊÇÔÚÔõÑùµÄʱ´úÅä¾°Ï£¬²¥ÏÂÁËÕâÃÅǿʢÓïÑÔµÄÖÖ×Ó £¿¹ÊÊÂµÄÆðÔ´£¬Òª×·Ëݵ½ÉÏÊÀ¼ÍÆßÊ®ÄêÔÂÄ©£¬ÄÇʱµÄÅÌËã»úÌìÏÂÕý´¦ÓÚÅÉú³¤µ«ÓÖÂÔÏÔÔÓÂÒµÄʱÆÚ¡£

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ËûµÄÿһ´Î˼Ë÷£¬Ã¿Ò»´ÎˢУ¬¶¼ÎªC++×¢ÈëÁËÉúÃüÁ¦£¬²¢ÎªØÊºóµÄÎÞÊý¿ª·¢ÕßÆÌ¾ÍÁËͨÍù¸ßÐÔÄÜ¡¢¸ßЧÂʱà³Ì֮·¡£

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

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

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

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

¡°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£¬»ò¹Ø×¢¹Ù·½Î¢ÐŹ«Öںţ¬¼´¿ÉËæÊ±Ïàʶ¹ÉÊж¯Ì¬£¬¶´²ìÕþ²ßÐÅÏ¢£¬ÕÆÎղƲú»ú»á¡£
ÍøÓÑ̸ÂÛ
µÇ¼ºó¿ÉÒÔ½²»°
·¢ËÍ
ÍøÓÑ̸ÂÛ½ö¹©Æä±í´ïСÎÒ˽¼Ò¿´·¨£¬²¢²»Åúע֤ȯʱ±¨Ì¬¶È
ÔÝÎÞ̸ÂÛ
ΪÄãÍÆ¼ö
ÍøÕ¾µØÍ¼