bevictorΰµÂ

17c.c++ÊÇË­²ÝÄâµÄ
ÆðÔ´£ºÖ¤È¯Ê±±¨Íø×÷ÕߣººúÊæÁ¢2026-02-17 00:52:04
wwwzqhsauikdwjbfkjabfwqr

Éú³¤Óëµ®Éú£ºÒ»Î»Å²ÍþѧÕߵġ°Ò°ÐÄ¡±

ÉèÏëһϣ¬ÔÚ20ÊÀ¼Í80Äê´ú³õ£¬ÍÆËã»ú¿ÆÑ§µÄÎę̀ÉÏ£¬C˵»°Èçͳһλ¸¡¿äÄܸɵŤ½³£¬ÒÔÆä¸ßЧºÍ¿¿½üÓ²¼þµÄ¸öÐÔÓ®µÃÁË¿í·ºÔÞÃÀ¡£ÕýÈçÈκÎÒ»¸ö³ä³â»îÁ¦µÄÁìÓòÒ»Ñù£¬ÈËÃÇ×ÜÊǰÍÍûןü׳´óµÄ¹¤¾ß£¬¿ÉÄܹ¹½¨¸ü¸´ÔÓ¡¢¸ü³éÏóµÄϵͳ¡£±Ëʱ£¬À´×Ôµ¤?Âó°Âºú˹´óѧµÄ?BjarneStroustrup£¬Ò»Î»ÄêÇá¶ø¸»ÓÐÔ¶¼ûµÄÍÆËã»ú¿ÆÑ§¼Ò£¬Õý»³´§×ÅÒ»¸ö¿´Ëƶ·µ¨µÄÉèÏë¡£

Ëû²¢²»ÊÇÆ¾¿Õ¹¹Öþ×ÓÐéÎÚÓУ¬¶øÊÇÉîÊÜÒ»ÖÖÃûΪSimulaµÄ˵»°µÄÆô·¢¡£Simula£¬ÔçÔÚ60Äê´ú¾ÍÒýÈëÁËÃæÏò¶ÔÏó±à³Ì£¨OOP£©µÄ¸ÅÏ룬ËüչʾÁËÈôºÎͨ¹ý¡°¶ÔÏó¡±À´×éÖ¯´úÂ룬ʹ·¨Ê½½á¹¹Ô½·¢Ç峺£¬Ò×ÓÚÖÎÀí¡£StroustrupÔÚ×êÑÐÖз¢ÏÖ£¬SimulaµÄÃæÏò¶ÔÏó˼ÏëÔÚ´¦ÖôóÐÍ¡¢¸´ÔÓµÄ?Èí¼þÏîĿʱ£¬ÓµÓÐÌìÈ»µÄ?ÓÅÊÆ£¬¿ÉÄܼ«´óµØÌáÉý¿ª·¢Ð§ÄܺʹúÂëµÄ¿ÉÊØ»¤ÐÔ¡£

Simula×ÔÉíÒ²´æÔÚһЩÏÞ¶È¡£ËüµÄÔËÐÐЧÄÜÏà¶Ô½ÏµÍ£¬²¢ÇÒÔÚÆäʱ²¢²»±»¿í·ºÖ§³Ö¡£StroustrupµÄ¡°Ò°ÐÄ¡±ÔÚÓÚ£¬Ëûµ«Ô¸¿ÉÄܽ«C˵»°µÄЧÄܺÍSimulaµÄÃæÏò¶ÔÏó¸öÐÔ½áºÏÆðÀ´£¬´´Ôì³ö?Ò»ÖÖ¼È׳´óÓÖÒ×ÓÚʹÓõÄ˵»°¡£ËûÉèÏëÁËÒ»ÖÖ¡°´øÀàµÄC¡±£¨CwithClasses£©µÄ˵»°£¬Õâ²»½ö½öÊǵ¥Ò»µÄ?Ö°Äܵþ¼Ó£¬¶øÊÇÒ»ÖÖÉî¿ÌµÄÈںϡ£

Ëûµ«Ô¸ÔÚ±£ÁôC˵»°¸ßЧ¡¢½Ã½ÝµÄÌØµãµÄÒýÈëÀà¡¢¼Ì³Ð?¡¢¶à̬µÈÃæÏò¶ÔÏóµÄ¸ÅÏ룬Èÿª·¢Õß¿ÉÄÜÒÔ¸ü¸ß¼¶¡¢¸ü³éÏóµÄ·½Ê½À´Ë¼ÂǺÍÉè¼Æ·¨Ê½£¬´Ó¶ø¸üÇáËɵØÓ¦¶ÔÈÕÒæÔö³¤µÄÈí¼þ¸´ÔÓ¶È¡£

StroustrupÔÚ±´¶û³¢ÊÔÊÒ£¨BellLabs£©ÆðÍ·ÁËÕâÏî³ä³âÌôÕ½µÄ¹¤×÷¡£±´¶û³¢ÊÔÊÒ£¬×÷ÎªÍÆËã»ú¿ÆÑ§µÄÒ¡ÀºÖ®Ò»£¬»ã¾ÛÁ˶à¶à¶¥¼âµÄ¿ÆÑ§¼ÒºÍ¹¤³Ìʦ£¬ÕâÀïÉú³¤ÁËUnix²Ù×÷ϵͳ¡¢C˵»°µÈÖî¶àÀï³Ì±®Ê½µÄ?¼¼Êõ¡£ÔÚÕâÑùÒ»¸ö³ä³â´´Ð·ÕΧµÄ»·¾³ÖУ¬StroustrupµÃÒÔÈ«ÉíÐĵØÍ¶Èëµ½ËûµÄ˵»°Éè¼ÆÖС£

ËûûÓÐÑ¡Ôñ´ÓÁãÆðÍ·£¬¶øÊǽ«¡°CwithClasses¡±³ÉÁ¢ÔÚC˵»°µÄ»ù´¡ÉÏ¡£ÕâÖÖÑ¡ÔñÖÁ¹Ø³ÁÒª£¬ËüÒâζ×ÅÐÂ˵»°Äܹ»ÎÞ·ìµØÀûÓÃC˵»°·á˶µÄ¿âºÍ¹¤¾ß£¬²¢ÇÒ¿ÉÄÜÓëÏÖÓеÄC´úÂë¼æÈÝ¡£ÕâΪÐÂ˵»°µÄÍÆ¹ãµì¶¨Á˼áʵµÄ»ù´¡£¬Ô¤·ÀÁËÏñºÜ¶àÈ«ÐÂ˵»°ÄÇÑùÃæ¶Ô¡°¹ÂÁ¢ÎÞÔ®¡±µÄ?À§¾³¡£

ÔÚ¡°CwithClasses¡±µÄÔçÆÚ·¢Õ¹½×¶Î£¬StroustrupÃæ¶Ô×ÅÎÞÊýµÄ¼¼ÊõÄÑÌâºÍ¸ÅÏëÉϵĺâÁ¿¡£Ëû±ØÒª×Ðϸ˼¿¼ÈôºÎ½«ÃæÏò¶ÔÏóµÄ¸ÅÏëÒÔÒ»ÖÖÌìÈ»¡¢¸ßЧµÄ·½Ê½¼¯³Éµ½CµÄÓï·¨½á¹¹ÖС£ÀýÈ磬ÈôºÎÉè¼ÆÀàµÄ³ÉÔ±½Ó¼û½ÚÔ죬ÈôºÎʵÏÖÐ麯ÊýÒÔÖ§³Ö¶à̬£¬ÒÔ¼°ÈôºÎÖÎÀí¶ÔÏóµÄÐÔÃüÖÜÆÚµÈµÈ¡£

Ëû²»ÐݵؽøÐг¢ÊÔ¡¢µü´úºÍÓÅ»¯£¬Ã¿Ò»´ÎÅú¸Ä¶¼Á¦ÇóÔÚÖ°ÄÜ¡¢»úÄܺÍÒ×ÓÃÐÔÖ®¼äÕÒµ½×î¼ÑµÄƽºâµã¡£ÔÚÕâ¸ö¹ý³ÌÖУ¬Ëû²»?½öÊÇһλ¼¼Êõ¿ª·¢Õߣ¬¸üÊÇһλ˵»°ÕÜѧ¼Ò£¬ËûÉî¿Ì˼ÂÇ×ÅÈôºÎÈñà³Ì˵»°¸üºÃµØ·þÎñÓÚÈËÀàµÄ˼Ï뷽ʽ¡£

1983Ä꣬һ¸öÓµÓÐÀï³Ì±®Òâ˼µÄʱ¿Ìµ½?À´ÁË¡£¡°CwithClasses¡¹Øýʽ¸ÄÃûΪC++¡£Õâ¸öÃû×Ö×ÔÉí¾ÍÔ̺¬×ÅÉîÒ⣺¡°++¡±ÊÇC˵»°ÖÐÓÃÓÚ×ÔÔöµÄÔËËã·û£¬ËüÐÎÏ󵨽²ÁËÈ»C++ÊÇC˵»°µÄ¡°½ø»¯¡±°æ±¾£¬ÊÇC˵»°µÄ¼ÓÇ¿ºÍÀ©´ó¡£Õâ¸öÃû×ÖµÄÑ¡Ôñ£¬¼È±£ÁôÁËÓëC˵»°µÄ´«?³Ð¹ØÏµ£¬ÓÖ°µÊ¾ÁËÆä׳´óµÄиöÐÔ¡£

C++µÄ³öÏÖ£¬±êÖ¾È¡ÃæÏò¶ÔÏó±à³Ì˵»°½øÈëÁËÒ»¸öеÄʱÆÚ£¬Ëü²»½ö¼Ì³ÐÁËCµÄ¾«»ª£¬¸ü´øÀ´ÁËǰËùδÓеÄ׳´óÄÜÁ¦£¬ÎªÈí¼þ¿ª·¢µÄ½«À´ÃèÊöÁËеÄÀ¶Í¼¡£

³É³¤ÓëÑݽø£º´Ó¡°Ò°ÐÄ¡±µ½¡°´ó¼Ò¡±

C++µÄµ®Éú²¢?·ÇÒ»»Ó¶ø¾Í£¬ÆäÕæÕýµÄÏÊÀöÔÚÓÚËü³ÖÐø²»Ðݵijɳ¤ÓëÑݽø¡£ÔÚBjarneStroustrupµÄ¸¨µ¼Ï£¬C++˵»°ÆðÍ·×ßÏòÊÀ½ç£¬²¢ÔÚÕâ¸ö¹ý³ÌÖв»Ðݼ³È¡ÓªÑø£¬ÃÀÂú×ÔÉí¡£ÔçÆÚµÄC++£¬Ö»¹ÜÕ¼ÓÐ׳´óµÄÃæÏò¶ÔÏó¸öÐÔ£¬µ«Æä³ß¶È»¯µÄ¹ý³ÌÏà¶Ô»ºÂý¡£

·ÖÆç±àÒëÆ÷¶ÔC++µÄÖ§³Öˮƽ²»Ò»£¬Õâ¸ø¿ª·¢Õß´øÀ´Á˿϶¨µÄÀ§ÈÅ¡£C++µÄ׳´óÄÜÁ¦ºÍ¿í·ºµÄÀûÓÃÔ¶¾°£¬Ê¹µÃËüÎüÒýÁËÔ½À´Ô½¶àµÄ¿ª·¢Õߺͳ§É̵ĹØ×¢¡£

1998Ä꣬¹ú¼Ê³ß¶È»¯×éÖ¯£¨ISO£©Õýʽ°ä²¼Á˵ÚÒ»¸öC++¹ú¼Ê³ß¶È¡ª¡ªC++98¡£ÕâÊÇÒ»¸ö³ÁÒªµÄÀï³Ì±®£¬ËüΪC++˵»°ÌṩÁËÒ»¸öͳһ¡¢¹æ·¶µÄ½ç˵£¬Ê¹µÃ·ÖÆçƽ̨¡¢·ÖÆç±àÒëÆ÷ÉϵÄC++´úÂë¿ÉÄÜÓµÓиüºÃµÄ¼æÈÝÐÔ¡£C++98³ß¶ÈÒýÈëÁ˺ܶàÖ÷ÌâµÄ˵»°¸öÐÔ£¬ÈçÄ£°å£¨templates£©¡¢Òì³£´¦?Àí£¨exceptionhandling£©¡¢STL£¨StandardTemplateLibrary£©µÈ¡£

STLµÄÒýÈë¸üÊǸïÃüÐԵģ¬ËüÌṩÁËһϵÁиßЧ¡¢Í¨ÓõÄÊý¾Ý½á¹¹ºÍËã·¨£¬¼«´óµØ¼ò»¯Á˳Ì?ÐòÔ±µÄ¹¤×÷£¬ÈÃËûÃÇ¿ÉÄÜרһÓÚ½â¾ö¸ü¸ß¼¶µÄÒµÎñÂß¼­£¬¶ø·Ç³Á¸´ÔìÂÖ×Ó¡£

C++98³ß¶ÈΪC++µÄ?·¢Õ¹µì¶¨Á˼áʵµÄ»ù´¡£¬µ«¼¼ÊõµÄ·¢Õ¹ÓÀÎÞÖÕµã¡£Ëæ×ÅÍÆËã»úÓ²¼þµÄ·É¿ì·¢Õ¹ºÍÈí¼þÐèÒªµÄÈÕÒæ¸´ÔÓ»¯£¬C++˵»°Ò²ÔÚ²»?¶ÏµØ?¸üл»´ú£¬ÒÔÊÊӦеÄÌôÕ½¡£2003Ä꣬C++03³ß¶È¶ÔC++98½øÐÐÁËÓ׵Ľ¨¸ÄºÍ²¹³ä£¬Ê¹ÆäÔ½·¢ÃÀÂú¡£

ÕæÕýµÄ¡°´ó±¬Õ¨¡±²úÉúÔÚ2011Ä꣬C++11³ß¶ÈµÄ°ä²¼?£¬±»ÓþΪC++˵»°µÄÒ»´Î¡°³ÁÉú¡±¡£C++11ÒýÈëÁË´ó?Á¿µÄÏÖ´ú?»¯¸öÐÔ£¬¼«´óµØÌáÉýÁË˵»°µÄ±í°×ÄÜÁ¦ºÍ¿ª·¢Ð§ÄÜ¡£ÀýÈ磬auto¹Ø¼ü×ÖµÄÒýÈëʹµÃÀàÐÍÍÆµ¼Ô½·¢±ã½Ý£»ÓÒÖµÒýÓã¨rvaluereferences£©ºÍÒÆ¶¯ÓïÒ壨movesemantics£©µÄ³öÏÖ£¬ÏÔÖøÌá¸ßÁË×ÊÔ´ÖÎÀíµÄЧÄÜ£¬ÓÈÆäÊÇÔÚ´¦ÖôóÐͶÔÏóʱ£»lambda±í°×ʽ£¨lambdaexpressions£©µÄ²ÎÓ룬ʹµÃ?º¯Êýʽ±à³Ì?·ç¸ñÔÚC++ÖеÃÒÔÇáËÉʵÏÖ£»ÖÇÄÜÖ¸Õ루smartpointers£©µÄ³ß¶È»¯£¬ÓÐЧ½â¾öÁËÄÚ´æÖÎÀíÖеij£¼ûÎÊÌ⣬Ï÷¼õÁËÄÚ´æÐ¹Â©µÄ·çÏÕ¡£

C++11µÄÕâЩиöÐÔ£¬ÈÃC++ÔÚά³Ôìä¸ß»úÄÜÓÅÊÆµÄ±äµÃÔ½·¢Ò×ÓÚ±àдºÍÊØ»¤£¬ÎüÒýÁË´óÁ¿ÐÂÓû§µÄ²ÎÓë¡£

C++µÄÑݽø²¢Î´ÖÕ³¡£¬ËüÒÔÿÈýÄêÒ»¸ö°æ±¾µÄ½ÚÅÄ£¬³ÖÐøÏòǰÂõ½ø¡£C++14¡¢C++17¡¢C++20£¬ÒÔ¼°ÔÚÔì¶©µÄC++23£¬Ã¿Ò»´Î³ß¶ÈµÄ¸üж¼´øÀ´ÁËеľªÏ²¡£C++14½øÒ»²½ÃÀÂúÁËC++11µÄ¸öÐÔ£»C++17ÒýÈëÁ˽ṹ»¯°ó¶¨£¨structuredbindings£©¡¢Îļþϵͳ¿â£¨filesystemlibrary£©¡¢²¢ÐÐSTL£¨parallelSTL£©µÈ£¬½øÒ»²½ÌáÉýÁË¿ª·¢Ð§Äܺͷ½±ãÐÔ£»C++20ÔòÊÇÒ»´Î¼¯´ó³ÉʽµÄ¸üУ¬ËüÒýÈëÁËConcepts£¨¸ÅÏ룩¡¢Ranges£¨ÁìÓò£©¡¢Modules£¨Ä £¿é£©¡¢Coroutines£¨Ð­³Ì£©µÈ»®Ê±ÆÚµÄиöÐÔ¡£

ConceptsʹµÃÄ£°åÔª±à³ÌÔ½·¢°²È«ºÍÒ×¶Á£»RangesΪÐòÁвÙ×÷ÌṩÁ˸ü¼ò½à¡¢¸ü׳´óµÄ½Ó¿Ú£»Modules½â¾öÁËÍ·ÎļþÔ̺¬µÄÎÊÌ⣬´ó·ùÌáÉýÁ˱à?Òë¿ìÂÊ£»CoroutinesÔòΪÒì²½±à?³ÌÌṩÁËеĽâ¾ö¹æ»®¡£

Èç½ñ£¬C++ÒѾ­³ÉΪһÃÅ¡°´ó¼Ò¡±¼¶µÄ±à³Ì˵»°¡£ËüÎÞ´¦²»ÔÚ£¬´Ó²Ù×÷ϵͳ¡¢Ç¶Èëʽϵͳ¡¢¸ß»úÄÜÍÆËã¡¢ÓÎÏ·¿ª·¢¡¢Í¼ÐÎͼÏñ´¦Ö㬵½½ðÈÚÂòÂôϵͳ¡¢ÈËΪÖÇÄÜÁìÓò£¬C++¶¼±íÑÝ×ÅÖÁ¹Ø³ÁÒªµÄ½ÇÉ«¡£ËüµÄ׳´ó»úÄÜ¡¢½Ã½ÝµÄÄÚ´æ½ÚÔìÄÜÁ¦ÒÔ¼°·á˶µÄÉú̬ϵͳ£¬Ê¹ÆäÔÚ¶Ô»úÄÜÒªÇó¼«Öµij¡¾°ÏÂÒÀÈ»ÊÇÎÞ¿É´úÌæµÄÑ¡Ôñ¡£

»ØÊ×BjarneStroustrup×î³õµÄ¡°Ò°ÐÄ¡±£¬Ëû²»½ö³É¹¦µØ?´´ÔìÁËÒ»ÖÖеıà³Ì˵»°£¬¸üÉî¿ÌµØÓ°ÏìÁËÕû¸öÈí¼þ¿ª·¢ÁìÓò¡£C++µÄ¹ÊÊ£¬ÊÇÒ»¸ö¹ØÓÚ¶´²ìÁ¦¡¢¶ÔÖźͲ»ÐÝ´´ÐµĴ«Ææ¡£ËüÖ¤ÁËÈ»£¬Î°´óµÄ¼¼ÊõÍùÍùÔ´ÓÚ¶ÔÏÖÓв»¼°µÄÉî¿ÌÀí½â£¬ÒÔ¼°¶Ô½«À´Ç÷ÏòµÄÃô¸Ð°ÑÎÕ£¬²¢×îÖÕͨ¹ý³ÖÐøµÄ´òÄ¥Óë½ø»¯£¬³É¾ÍÒ»¶Î²»ÐàµÄ¿Æ¼¼´«Ææ¡£

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