++µÄ±ê×¼¿â
C++±ê×¼¿â£¨StandardTemplateLibrary£¬STL£©ÊÇC++µÄÒ»´óÁÁµã¡£STLÌṩÁËһϵÁиßЧµÄÊý¾Ý½á¹¹ºÍË㷨ģ°å£¬ÈçÏòÁ¿£¨Vector£©¡¢ÁÐ±í£¨List£©¡¢ÜöÝÍ£¨Set£©¡¢Ó³É䣨Map£©ºÍÐÐÁУ¨Queue£©µÈ¡£ÕâЩÊý¾Ý½á¹¹ºÍË㷨ģ°åͨ¹ýÄ£°å£¨Template£©»úÖÆÊµÏÖ£¬Ê¹µÃËüÃÇ¿ÉÒÔÔÚ²î±ðÊý¾ÝÀàÐÍÉÏͨÓá£
++µÄ½µÉúÅä¾°
C++ÓïÑÔÓɱ´¶ûʵÑéÊҵĴ÷ά¡¤ÀïÆæ(BjarneStroustrup)ÔÚ1979Äê·¢Ã÷£¬ÆäÉè¼ÆÄ¿µÄÊÇÔÚ±£´æCÓïÑÔÓŵãµÄ»ù´¡ÉÏ£¬ÔöÌíÃæÏò¹¤¾ß±à³ÌµÄ?ÌØÕ÷¡£C++µÄ½µÉúÅä¾°¿ÉÒÔ×·Ëݵ½ÆäʱÅÌËã»ú¿ÆÑ§µÄ?Éú³¤ÐèÇ󡣯äʱ£¬CÓïÑÔÒѾ³ÉΪϵͳ±à³ÌµÄÖ÷Á÷ÓïÑÔ£¬µ«Ëüȱ·¦ÃæÏò¹¤¾ß±à³ÌµÄ»úÖÆ£¬ÎÞ·¨ÓÐÓô¦?ÀíÖØ´óϵͳµÄ¿ª·¢ºÍά»¤¡£
ΪÏàʶ¾öÕâÒ»ÎÊÌ⣬´÷ά¡¤ÀïÆæ×îÏÈÑо¿ÔõÑùÔÚCÓïÑÔ»ù´¡ÉÏÔöÌíÃæÏò¹¤¾ß±à³ÌµÄ¹¦Ð§£¬×îÖÕÓÚ1983ÄêÌá³öÁËCwithClasses£¬¼´C++¡£C++²»µ«¼ÌÐøÁËCÓïÑԵĸßЧºÍ¾«Á·£¬»¹ÒýÈëÁËÀà¡¢¼ÌÐø¡¢¶à̬µÈÃæÏò¹¤¾ß±à³ÌµÄ¿´·¨£¬´ó´óÌáÉýÁËÈí¼þ¿ª·¢µÄЧÂʺͿÉά»¤ÐÔ¡£
C++17Ôò´øÀ´Á˸ü¶àµÄÓïÑÔÌØÕ÷£¬Èç±äÁ¿Ä£°å¡¢²¢ÐÐËã·¨¿âµÈ¡£2020ÄêµÄC++20±ê×¼Ôò½øÒ»²½?ÍÆ¶¯ÁËC++µÄÉú³¤£¬ÒýÈëÁËcoroutines¡¢conceptsµÈÐÂÌØÕ÷£¬Ê¹µÃ?C++ÔÚ²¢ÐÐÅÌËãºÍ¸ßÐÔÄܱà³Ì·½Ãæ¾ßÓиüÇ¿µÄ¾ºÕùÁ¦¡£
C++ÔÚÏÖ´úÈí¼þ¿ª·¢ÖеÄÓ¦ÓãºÓÎÏ·¡¢ÏµÍ³±à³ÌºÍǶÈëʽ¿ª·¢C++ÔÚÏÖ´úÈí¼þ¿ª·¢ÖеÄÓ¦ÓùæÄ£ºÜÊÇÆÕ±é£¬´Óϵͳ±à³Ìµ½¸ßÐÔÄÜÅÌË㣬´ÓǶÈëʽ¿ª·¢µ½?ÓÎÏ·¿ª·¢£¬C++¶¼Õ¹ÏÖ³öÁËÆäǿʢµÄ¹¦Ð§ºÍÓÅÔ½µÄÐÔÄÜ¡£
ÔÚϵͳ±à³ÌÁìÓò£¬C++ÒòÆä¸ßЧµÄÄÚ´æ¹ÜÀíºÍµ×²ã²Ù?×÷ÄÜÁ¦£¬³É?Ϊ²Ù×÷ϵͳ¡¢Çý¶¯³ÌÐòºÍǶÈëʽϵͳ¿ª·¢µÄÊ×Ñ¡ÓïÑÔ¡£ÀýÈ磬LinuxÄںˡ¢Windows²Ù×÷ϵͳµÈ¶¼ÆÕ±éʹÓÃC++¾ÙÐпª·¢¡£C++µÄ³õ¼¶²Ù×÷ÄÜÁ¦ºÍ¸ßЧÐÔ£¬Ê¹µÃËüÔÚϵͳ±à³ÌÖлñµÃÁËÆÕ±éµÄÓ¦Óá£
++µÄÔçÆÚÓ¦ÓÃ
C++ÔÚÆä½µÉúºó²»¾Ã£¬¾Í±»ÆÕ±éÓ¦ÓÃÓÚ¶à¸öÁìÓò¡£×îÔç½ÓÄÉC++µÄ¹«Ë¾°üÀ¨AT&T±´¶ûʵÑéÊÒ¡¢¼×¹ÇÎÄ£¨Oracle£©ºÍ΢Èí£¨Microsoft£©¡£ÕâЩ¹«Ë¾Ê¹ÓÃC++µÄǿʢ?¹¦Ð§£¬¿ª·¢³öÁËÐí¶à¸ßЧµÄϵͳºÍÓ¦ÓóÌÐò¡£ÀýÈ磬¼×¹ÇÎĹ«Ë¾µÄÊý¾Ý¿â¹ÜÀíϵͳOracle¾ÍÊÇÔÚC++µÄÖ§³ÖϵÃÒÔ¸ßЧÔËÐС£
C++µÄÃüÃûÁé¸ÐÀ´×ÔÓÚ¡°CÓïÑÔ¼Ó¼Ó¡±µÄÀíÄ¼´ÔÚCÓïÑԵĻù´¡?ÉÏÔöÌíÁËÐµĹ¦Ð§ºÍÌØÕ÷¡£1985Ä꣬C++ÕýÊ½ÃæÊÀ£¬²¢Ñ¸ËÙ»ñµÃÁ˳ÌÐòÔ±µÄÈϿɡ£ÆäÃæÏò¹¤¾ßµÄÌØÕ÷ºÍCÓïÑԵĸßЧÐÔµÄÍêÉÆÍŽᣬʹµÃC++³ÉΪÁËÒ»ÖÖȫеıà³Ì·¶Ê½£¬²»µ«ÔÚѧÊõ½çÒýÆðÁ˾ª¶¯£¬ÔÚ¹¤Òµ½çҲѸËÙ»ñµÃÁËÆÕ±éÓ¦Óá£
C++µÄ½¹µãÌØÕ÷£ºÃæÏò¹¤¾ß±à³Ì?ºÍÔËËã·ûÖØÔØC++×÷ΪһÖÖÏÖ´ú±à³ÌÓïÑÔ£¬Æä½¹µãÌØÕ÷ÔÚÓÚÆäÃæÏò¹¤¾ß±à³ÌµÄÖ§³Ö¡£ÃæÏò¹¤¾ß±à³ÌÊÇͨ¹ýÀࣨclass£©ºÍ¹¤¾ß£¨object£©À´×éÖ¯´úÂëµÄ£¬Ê¹µÃ´úÂë½á¹¹Ô½·¢Ä£¿é»¯¡¢Ò×ÓÚ¹ÜÀíºÍÀ©Õ¹¡£C++ÒýÈëÁËÀà¡¢¼ÌÐø¡¢¶à̬µÈÃæÏò¹¤¾ß±à³ÌµÄ¿´·¨£¬ÕâЩ¿´·¨Ê¹µÃÈí¼þ¿ª·¢±äµÃÔ½·¢Ö±¹ÛºÍ¸ßЧ¡£
ÑÐò½¥½øµÄѧϰҪÁì
C++ÓïÑÔÓµÓи»ºñµÄÌØÕ÷ºÍÖØ´óµÄÓï·¨£¬Òò´ËÑÐò½¥½øµÄѧϰҪÁìºÜÊÇÖ÷Òª¡£×îÏÈʱ£¬ÖصãѧϰC++µÄ»ù´¡Óï·¨ºÍ½¹µã¿´·¨£¬È»ºóÖð²½ÉîÈëѧϰ¸ß¼¶ÌØÕ÷¡£
ÏêϸҪÁ죺Ê×ÏÈÕÆÎÕ»ù±¾Óï·¨£¨Èç±äÁ¿¡¢¿ØÖƽṹ¡¢º¯ÊýµÈ£©£¬È»ºóÑ§Ï°ÃæÏò¹¤¾ß±à³ÌµÄ»ù±¾¿´·¨£¨ÈçÀà¡¢¹¤¾ß¡¢¼ÌÐø¡¢¶à̬µÈ£©¡£ÉîÈëѧϰSTL£¨±ê׼ģ°å¿â£©ºÍÆäËû¸ß¼¶ÌØÕ÷£¨ÈçRAII¡¢Ä£°å±à³Ì¡¢ÖÇÄÜÖ¸ÕëµÈ£©¡£
²âÊÔÓëµ÷ÊÔ
ÔÚC++±à³Ì?ÖУ¬²âÊԺ͵÷ÊÔÊÇÈ·±£´úÂëÖÊÁ¿ºÍ¿É¿¿ÐÔµÄÖ÷Òª»·½Ú¡£
ÏêϸҪÁ죺±àдµ¥Î»²âÊԺͼ¯³É²âÊÔ£¬Ê¹ÓòâÊÔ¿ò¼Ü£¨ÈçGoogleTest¡¢Catch2µÈ£©¡£Ñ§Ï°Ê¹Óõ÷ÊÔ¹¤¾ß£¨ÈçGDB¡¢VisualStudioDebuggerµÈ£©£¬Ïàʶµ÷ÊÔ¼¼ÇɺÍÒªÁ졣ͨ¹ý²âÊԺ͵÷ÊÔ£¬·¢Ã÷ºÍÐÞ¸´´úÂëÖеÄÎÊÌâ¡£
У¶Ô£ºÁõÐÀÈ»(6cEOas9M38Kzgk9u8uBurka8zPFcs4sd)



