bevictorΰµÂ

C++¼ÍÄêÊ·£º²»Ö¹ÊÇ¡°17c.c++¡± £¬¸üÊÇ´úÂëÊÀ½çµÄÊ·Ê«
ÆðÔ´£ºÖ¤È¯Ê±±¨Íø×÷Õߣº¸ß½¨¹ú2026-02-17 08:07: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ƾ½èÆä׿ԽµÄ¶´²ìÁ¦ºÍ²»Ð¸µÄÖÂÁ¦ £¬ÎªÊÀ½çÁôÏÂÁËÒ»ÃÅ¿ÉÄܼÝÔ¦´Óµ×²ãÓ²¼þµ½¸´ÔÓÀûÓõÄͨÓñà³Ì˵»°¡£Ëû²»?ÊÇÒ»¸öÔÚÄ»ºóĬĬÎÞÎŵIJÝÄâÕß £¬¶øÊÇһλÔÚ´úÂëÊÀ½çÀï £¬ÓÃÔ¶¼ûºÍÖÇ»Û £¬¹´»­³öÐÛΰÀ¶Í¼µÄ¹¹Öþʦ¡£

ËûµÄÿһ´Î˼ÂÇ £¬Ã¿Ò»´Î?¸Ä½ø £¬¶¼Îª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 £¬»ò¹Ø×¢¹Ù·½Î¢ÐŹ«¼ÒºÅ £¬¼´¿ÉËæÊ±Ïàʶ¹ÉÊж¯Ì¬ £¬¶´²ìÕþ²ßÐÅÏ¢ £¬°ÑÎղƸ»»úÓö¡£
ÍøÓÑÆÀÂÛ
µÇ¼ºóÄܹ»½²»°
·¢ËÍ
ÍøÓÑÆÀÂÛ½ö¹©Æä±í°×Ó×ÎÒ¼û½â £¬²¢²»Åúע֤ȯʱ±¨Ì¬¶È
ÔÝÎÞÆÀÂÛ
ΪÄãÍÆ¼ö
¡¾ÍøÕ¾µØÍ¼¡¿