bevictorΰµÂ

C++¼ÍÄêÊ·£º²»Ö¹ÊÇ¡°17c.c++¡±£¬¸üÊÇ´úÂëÊÀ½çµÄÊ·Ê«
ÆðÔ´£ºÖ¤È¯Ê±±¨Íø×÷ÕߣºÕž­Òå2026-02-17 07:48:10
wwwzqhsauikdwjbfkjabfwqr

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

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

·ÖÆç˵»°¸÷Ö´Ò»´Ê£¬Îª¿ª·¢Õß´øÀ´Á˲»ÉÙÀ§ÈÅ ¡£

¹ÊʵÄÖ÷È˹«£¬Êǵ¤ÂóÍÆËã»ú¿ÆÑ§¼Ò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£©µÈ ¡£ÕâЩ¸öÐԵIJÎÓ룬¼«´óµØ¼ÓÇ¿ÁËC++µÄ±í°×ÄÜÁ¦ºÍ¹¤³Ìʵ¼ÊÄÜÁ¦ ¡£

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

¼¼ÊõµÄ½øÈ¡ÓÀÎÞÖյ㠡£ÔÚC++98°ä²¼Ö®ºó£¬ÍÆËã»ú¿ÆÑ§ÁìÓòÓ¿ÏÖ³öºÜ¶àеÄ˼ÏëºÍ¼¼Êõ£¬Í¬Ê±Ò²Â¶³öÁËC++98ÔÚijЩ·½Ãæ´æÔڵIJ»¼° ¡£ÎªÁ˸úÉÏʱÆÚµÄ´ëÊ©£¬C++³ß¶ÈίԱ»á²¢Ã»ÓÐÍ£ÏÂǰ½øµÄ½Å²½ ¡£ËæºóµÄÿһ´Î³ß¶È¸üУ¬¶¼ÏñÊÇÒ»´Î¶ÔC++µÄ¡°ÏÖ´ú»¯¡±Ë¢Ð£¬×¢ÈëеĻîÁ¦£¬½¨¸´¾ÉµÄÉ˺Û ¡£

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

ÕâЩ¸öÐԵIJÎÓ룬¼«´óµØÌáÉýÁË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µÄ?»ù´¡ÉÏ£¬³ÖÐøÖÂÁ¦ÓÚÌáÉý¿ª·¢Õߵijö²úÁ¦£¬²¢ÒýÈëÁËһЩ¿ÉÄÜ´øÀ´ÏÔÖø»úÄÜÌáÉýºÍ´úÂë¼ò½àÐԵĸöÐÔ ¡£

Èç½ñµÄC++£¬ÔçÒѲ»ÊÇÎôʱBjarneStroustrupÄǸö¡°CwithClasses¡±µÄÆÓËØÑù×Ó ¡£ËüÊÇÒ»¸öÖØ´ó?¶ø¸´ÔÓµÄ?Éú̬ϵͳ£¬Ò»¸ö²»ÐÝ×ÔÎҸĸӵ±§½«À´µÄ±à³Ì˵»° ¡£ËüµÄÃû×Ö±³ºó£¬ÊÇÎÞÊý¿ª·¢Õß¡¢³ß¶ÈίԱ»á³ÉÔ±ÒÔ¼°¼¼Êõ°®ºÃÕߵĹ²Í¬ÖÂÁ¦ºÍÖǻ۽ᾧ ¡£

´Ó¡°CwithClasses¡±µÄÃÈÑ¿£¬µ½C++98µÄµì»ù£¬ÔÙµ½C++11¡¢C++17¡¢C++20µÄÏÖ´ú»¯º£³±£¬C++µÄ¹ÊÊ£¬ÊÇÒ»²¿¹ØÓÚ²»Ðݳ¬¹ý¡¢×êӪ׿ԽµÄÊ·Ê« ¡£ËüÒÔÆä¹ÖÒìµÄ÷ÈÁ¦£¬³ÖÐøÔÚÈí¼þÊÀ½çµÄ¸÷¸ö½ÇÂä²ûÑï×Ų»³É´úÌæµÄ×÷Ó㬲¢ÇÒ£¬ËüµÄÐÔÃüÁ¦£¬ÈÔÔÚÒÔ¾ªÈ˵ĿìÂÊ£¬³ÖÐøµã»ð ¡£

ÔðÈαà×룺 Õž­Òå
ÉêÃ÷£ºÖ¤È¯Ê±±¨Á¦ÇóÐÅÏ¢ÕæÊµ¡¢ÕýÈ·£¬ÎÄÕÂÌá¼°ÄÚÈݽö¹©²Î¿¼£¬²»×é³ÉÄÚÈÝÐÔͶ×ʽ¨Ò飬¾Ý´Ë²Ù·ç¸ñÏÕ×Ôµ£
ÏÂÔØ¡°Ö¤È¯Ê±±¨¡±¹Ù·½APP£¬»ò¹Ø×¢¹Ù·½Î¢ÐŹ«¼ÒºÅ£¬¼´¿ÉËæÊ±Ïàʶ¹ÉÊж¯Ì¬£¬¶´²ìÕþ²ßÐÅÏ¢£¬°ÑÎղƸ»»úÓö ¡£
ÍøÓÑÆÀÂÛ
µÇ¼ºóÄܹ»½²»°
·¢ËÍ
ÍøÓÑÆÀÂÛ½ö¹©Æä±í°×Ó×ÎÒ¼û½â£¬²¢²»Åúע֤ȯʱ±¨Ì¬¶È
ÔÝÎÞÆÀÂÛ
ΪÄãÍÆ¼ö
¡¾ÍøÕ¾µØÍ¼¡¿