C++µÄµ®ÉúÒ»¶Î¿çԽʱ¿ÕµÄÊ·Ê«±Ü¿ÓÖ¸ÄÏ£º¸ßƵÎóÇøÓëÕýÈ·´ò¿ª·½Ê½

À´Ô´£ºÖ¤È¯Ê±±¨Íø×÷Õߣº
×ÖºÅ

ÕâÒ»ÌØÐÔ¼«´óµØÌá¸ßÁËC++µÄ±í´ïÄÜÁ¦ºÍÁé»îÐÔ¡£

C++µÄ±ê×¼»¯ºÍ·¢Õ¹£º´Ó?C++98µ½ÏÖ´úC++C++µÄ·¢Õ¹Àú³Ì?ÖУ¬±ê×¼»¯ÊÇÒ»¸öÖØÒªµÄÀï³Ì±®¡£1990Ä꣬C++Ê״α»Õýʽ±ê×¼»¯£¬ÕâΪC++µÄ¹ã·ºÓ¦Óõ춨ÁË»ù´¡¡£Ëæ×żÆËã»ú¼¼ÊõµÄ²»¶Ï½ø²½?£¬C++Ò²ÔÚ²»¶Ï½ø»¯¡£1998Ä꣬C++98±ê×¼·¢²¼£¬ÒýÈëÁËÄ£°å£¨Template£©ºÍ±ê×¼¿â£¨StandardTemplateLibrary,STL£©µÈÐÂÌØÐÔ£¬½øÒ»²½ÌáÉýÁËC++µÄ¹¦ÄܺÍʹÓÃЧÂÊ¡£

½øÈë21ÊÀ¼Íºó£¬C++¼ÌÐø²»¶Ï·¢Õ¹£¬2003ÄêµÄC++03±ê×¼ºÍ2011ÄêµÄC++11±ê×¼Ïà¼Ì·¢²¼¡£C++11ÒýÈëÁËlambda±í´ïʽ¡¢ÖÇÄÜÖ¸Õë¡¢rvalueÒýÓõÈ?ÐÂÌØÐÔ£¬Ê¹µÃC++µÄ±à³Ì·ç¸ñ¸ü¼ÓÏÖ´ú»¯¡¢¼ò½à¡£C++14½øÒ»²½ÍêÉÆÁËC++11µÄÌØÐÔ£¬ÒýÈëÁËauto¹Ø¼ü×ÖºÍconstexprµÈÐÂÌØÐÔ¡£

Ñ­Ðò½¥½øµÄѧϰ·½·¨

C++ÓïÑÔÓµÓзḻµÄÌØÐԺ͸´ÔÓµÄÓï·¨£¬Òò´ËÑ­Ðò½¥½øµÄѧϰ·½·¨·Ç³£ÖØÒª¡£¿ªÊ¼Ê±£¬ÖصãѧϰC++µÄ»ù´¡?Óï·¨ºÍºËÐĸÅÄȻºóÖð²½ÉîÈëѧϰ¸ß¼¶ÌØÐÔ¡£

¾ßÌå·½·¨£ºÊ×ÏÈÕÆÎÕ»ù±¾Óï·¨£¨Èç±äÁ¿¡¢¿ØÖƽṹ¡¢º¯ÊýµÈ£©£¬È»ºóÑ§Ï°ÃæÏò¶ÔÏó±à³ÌµÄ»ù±¾?¸ÅÄÈçÀà¡¢¶ÔÏ󡢼̳С¢¶à̬µÈ?£©¡£ÉîÈëѧϰSTL£¨±ê׼ģ°å¿â£©ºÍÆäËû¸ß¼¶ÌØÐÔ£¨ÈçRAII¡¢Ä£°å?±à³Ì¡¢ÖÇÄÜÖ¸ÕëµÈ£©¡£

++µÄµ®Éú±³¾°

C++ÓïÑÔÓɱ´¶ûʵÑéÊҵĴ÷ά¡¤ÀïÆæ(BjarneStroustrup)ÔÚ1979Äê·¢Ã÷£¬ÆäÉè¼ÆÄ¿±êÊÇÔÚ±£ÁôCÓïÑÔÓŵãµÄ»ù´¡ÉÏ£¬Ôö¼ÓÃæÏò¶ÔÏó±à³ÌµÄÌØÐÔ¡£C++µÄµ®Éú±³¾°¿ÉÒÔ×·Ëݵ½µ±Ê±¼ÆËã»ú¿ÆÑ§µÄ·¢Õ¹ÐèÇó¡£µ±Ê±£¬CÓïÑÔÒѾ­³ÉΪϵͳ±à³ÌµÄÖ÷Á÷ÓïÑÔ£¬µ«Ëüȱ·¦ÃæÏò¶ÔÏó±à³ÌµÄ»úÖÆ£¬ÎÞ·¨ÓÐЧ´¦Àí¸´ÔÓϵͳµÄ¿ª·¢ºÍά»¤¡£

ΪÁ˽â¾öÕâÒ»ÎÊÌ⣬´÷ά¡¤ÀïÆæ¿ªÊ¼Ñо¿ÈçºÎÔÚCÓïÑÔ»ù´¡ÉÏÔö¼ÓÃæÏò¶ÔÏó±à³ÌµÄ¹¦ÄÜ£¬×îÖÕÓÚ1983ÄêÌá³öÁËCwithClasses£¬¼´C++¡£C++²»½ö¼Ì³ÐÁËCÓïÑԵĸßЧºÍ¼ò½à£¬»¹ÒýÈëÁËÀà¡¢¼Ì³Ð¡¢¶à̬µÈÃæÏò¶ÔÏó±à³ÌµÄ¸ÅÄ´ó´óÌáÉýÁËÈí¼þ¿ª·¢µÄЧÂʺͿÉά»¤ÐÔ¡£

++µÄδÀ´ÓëÌôÕ½

¾¡¹ÜC++ÔÚ¶à¸öÁìÓòÖбíÏÖ³öÉ«£¬µ«ËüÒ²ÃæÁÙ×ÅһЩÌôÕ½¡£Ëæ×ÅÐÂÐËÓïÑÔÈçRustºÍGoµÄáÈÆð£¬C++ÐèÒª²»¶Ï´´Ðº͸Ľø£¬ÒÔ±£³ÖÆä¾ºÕùÁ¦¡£Î´À´µÄC++½«¼ÌÐøÔÚÐÔÄÜÓÅ»¯¡¢Äڴ氲ȫºÍÏÖ´ú±à³ÌÌØÐÔÉϽøÐиĽø¡£

×ܽ᣺C++µÄ?µ®ÉúºÍ·¢Õ¹£¬ÊǼÆËã»ú¿ÆÑ§Ê·ÉϵÄÒ»¶Î·Ç·²µÄƪÕ¡£´ÓËüµÄ?ÉñÃØÆðÔ´µ½¹ã·ºÓ¦Óã¬C++²»½ö¸Ä±äÁ˳ÌÐòÉè¼ÆµÄ·½Ê½£¬»¹¶ÔÕû¸ö¼ÆËã»ú¼¼ÊõµÄ½ø²½²úÉúÁËÉîÔ¶Ó°Ïì¡£ÎÞÂÛÊÇϵͳ±à³Ì¡¢ÓÎÏ·¿ª·¢£¬»¹ÊǽðÈÚ¼ÆË㣬C++¶¼Õ¹ÏÖÁËÆäÎÞ¿ÉÌæ´úµÄ¼ÛÖµ¡£ÈÃÎÒÃǼÌÐø¹Ø×¢ºÍѧϰC++£¬ÒÔ½ÒʾËü¸ü¶àµÄÉñÃØÓë¿ÉÄÜ¡£

³ÖÐøÑ§Ï°Óë¸üÐÂ

C++ÓïÑÔ²»¶Ï·¢Õ¹£¬Ðµıê×¼ºÍÌØÐÔ²»¶ÏÓ¿ÏÖ¡£³ÖÐøÑ§Ï°ºÍ¸üÐÂ֪ʶ£¬Äܹ»°ïÖúÄã¸úÉϼ¼ÊõÇ°ÑØ£¬±£³Ö¾ºÕùÁ¦¡£

¾ßÌå·½·¨£º¹Ø×¢C++±ê׼ίԱ»á£¨ISO/IECJTC1/SC22/WG21£©µÄбê×¼·¢²¼ºÍÌá°¸¡£ÔĶÁC++Ïà¹ØµÄ²©¿ÍºÍÎÄÕ£¬Á˽âÐÂÌØÐÔºÍ×î¼Ñʵ¼ù¡£²Î¼Ó¼¼Êõ»áÒéºÍÑÐÌֻᣬÁ˽â×îеļ¼Êõ·¢Õ¹Ç÷ÊÆ¡£

´ú?ÂëÖÊÁ¿Óë×î¼Ñʵ¼ù

ÔÚѧϰC++¹ý³ÌÖУ¬±£³Ö´úÂëÖÊÁ¿ºÍ×ñÑ­×î¼Ñʵ¼ù·Ç³£ÖØÒª¡£Á¼ºÃµÄ±à³Ìϰ¹ßºÍ×î¼Ñʵ¼ùÄܹ»Ìá¸ß´ú?ÂëµÄ¿É¶ÁÐÔ¡¢¿Éά»¤ÐÔºÍÐÔÄÜ¡£

¾ßÌå·½·¨£º×ñÑ­C++CoreGuidelines£¬Ñ§Ï°ºÍʹÓôúÂë·ç¸ñÖ¸ÄÏ£¨ÈçGoogleC++StyleGuide£©¡£¹Ø×¢´úÂëµÄ¿É¶ÁÐÔ£¬±ÜÃâ¹ý¶È¸´ÔÓµÄÉè¼Æ¡£Ê¹Óþ²Ì¬·ÖÎö¹¤¾ß£¨ÈçClang-Tidy¡¢PVS-Studio£©¼ì²é´úÂëÖÊÁ¿¡£

C++ÔÚ½ÌÓýºÍÅàѵÖеÄ×÷ÓÃÒ²²»ÈݺöÊÓ¡£×÷ΪһÞßÓи߶ÈʵÓÃÐԺ͹㷺ӦÓõıà³ÌÓïÑÔ£¬C++ÔÚ¼ÆËã»ú¿ÆÑ§½ÌÓýÖÐÕ¼¾Ý×ÅÖØÒªµØÎ»¡£Ëü²»½öÄܹ»°ïÖúѧÉúÀí½â¼ÆËã»úϵͳµÄµ×²ã¹¤×÷Ô­Àí£¬»¹ÄÜÅàÑøËûÃǵıà³Ì˼άºÍ½â¾öÎÊÌâµÄÄÜÁ¦¡£Ëæ×űà³Ì½ÌÓýµÄÆÕ¼°£¬C++½«¼ÌÐøÔÚÈ«Çò·¶Î§ÄÚÓ°ÏìºÍÅàÑøÐÂÒ»´úµÄ¼ÆËã»ú¿ÆÑ§È˲Å¡£

C++µÄ¿çƽ̨ºÍ¿çÁìÓòµÄÌØÐÔʹµÃËü²»½ö½ö¾ÖÏÞÓÚÌØ¶¨µÄÓ¦ÓÃÁìÓò£¬¶øÊÇÄܹ»ÔÚ¶àÖÖ²»Í¬µÄ»·¾³Öз¢»Ó×÷Óá£ÕâÖÖÁé»îÐÔʹµÃC++³ÉΪÁËÒ»Öֶ๦ÄÜ¡¢Ç¿´óµÄ±à³ÌÓïÑÔ£¬ÊÊÓÃÓÚ´ÓǶÈëʽϵͳµ½´óÐÍÆóÒµ¼¶Ó¦Óõĸ÷ÖÖ¿ª·¢ÐèÇó¡£

C++µÄµ®Éú²»½öÊǼÆËã»ú±à³ÌÊ·ÉϵÄÒ»¶Î¿çԽʱ¿ÕµÄÊ·Ê«£¬¸üÊÇÒ»ÖÖ³ÖÐø´´Ðºͷ¢Õ¹µÄ¾«Éñ¡£Ëü½«ÔÚδÀ´µÄ¿Æ¼¼½ø²½ÖмÌÐø°çÑÝÖØÒª½ÇÉ«£¬Ó°ÏìºÍËÜÔì×ÅÎÒÃǵÄÊý×ÖÊÀ½ç¡£Í¨¹ýÀí½âºÍÕÆÎÕC++µÄ?ºËÐÄÌØÐԺͷ¢Õ¹Àú³Ì£¬ÎÒÃDz»½öÄܹ»¸üºÃµØÓ¦¶ÔÏÖ´úÈí¼þ¿ª·¢µÄÌôÕ½£¬»¹ÄÜΪδÀ´µÄ¼¼Êõ´´ÐÂ×ö³ö?¹±Ïס£

++µÄ±ê×¼»¯Óë·¢Õ¹

1990Ä꣬C++µÄµÚÒ»¸ö±ê×¼±»ISO/IECÅú×¼¡£ÕâÒ»±ê×¼»¯µÄ½ø³ÌΪC++µÄ·¢Õ¹µì¶¨Á˼áʵµÄ»ù´¡£¬Ê¹µÃËü³ÉΪһ¸öÕæÕýµÄ?¹ú¼ÊͨÓñà³ÌÓïÑÔ¡£ËæºóµÄ¼¸ÄêÖУ¬C++²»¶Ï½ø»¯£¬Ðµıê×¼ÈçC++98¡¢C++03¡¢C++11¡¢C++14¡¢C++17ºÍC++20²»¶ÏÍÆ³ö£¬Ã¿Ò»´ÎµÄ¸üж¼ÎªC++ÔöÌíÁËеÄÌØÐԺ͹¦ÄÜ¡£

У¶Ô£ºÀîè÷ÃÈ(p6mu9CWFoIx7YFddy4eQTuEboRc9VR7b9b)

ÔðÈα༭£º ÁÖºÍÁ¢
ΪÄãÍÆ¼ö
Óû§ÆÀÂÛ
µÇ¼ºó¿ÉÒÔ·¢ÑÔ
ÍøÓÑÆÀÂÛ½ö¹©Æä±í´ï¸öÈË¿´·¨£¬²¢²»±íÃ÷֤ȯʱ±¨Á¢³¡
ÔÝÎÞÆÀÂÛ