C++µÄ±ê×¼»¯½ø³Ì²»?½öΪÓïÑÔ±¾ÉíÌṩÁ˼áʵµÄ»ù´¡£¬»¹´Ù½øÁ˷ḻµÄ±ê×¼¿âºÍ¹¤¾ßµÄ¿ª·¢¡£±ê׼ģ°å¿â£¨STL£©ÊÇC++±ê×¼¿âÖÐ×îÖøÃûµÄ?²¿·ÖÖ®Ò»£¬ËüÌṩÁËһϵÁÐͨÓõÄÊý¾Ý½á¹¹ºÍËã·¨¡£STLÖеÄÈÝÆ÷£¨Èçvector¡¢list¡¢setµÈ£©¡¢Ëã·¨£¨Èçsort¡¢findµÈ£©ÒÔ¼°µü´úÆ÷£¨iterator£©µÈ£¬Ê¹µÃ¿ª·¢ÕßÄܹ»¸ü¼Ó¼ò½àºÍ¸ßЧµØÊµÏÖ¸´ÔӵŦÄÜ¡£
STLµÄÒýÈ룬¼«´óµØÌá¸ßÁËC++µÄ¿ª·¢Ð§Âʺʹú?ÂëÖÊÁ¿¡£Ëü²»½ö¼õÉÙÁËÖØ¸´´úÂëµÄ±àд£¬»¹ÌṩÁËÒ»ÖºͿɿ¿µÄ½Ó¿Ú£¬Ê¹µÃ´úÂë¸ü¼ÓÄ£¿é»¯ºÍ¿Éά»¤¡£
ËäÈ»ÎÒÃÇͨ³£½«C++µÄµ®Éúʱ¼ä¶¨ÔÚ20ÊÀ¼Í£¬µ«Æä¸ùÔ´¿ÉÒÔ×·Ëݵ½19ÊÀ¼Í¡£ÄÇʱµÄ¿ÆÑ§¼ÒÃÇÕýÔÚ̽Ë÷ÈçºÎÀûÓûúÆ÷À´´¦Àí¸´ÔÓµÄÊýѧÎÊÌâ¡£°¬Âס¤Í¼Á飨AlanTuring£©µÈÏÈÇýÕßµÄ˼ÏëΪ¼ÆËã»ú¿ÆÑ§µÄ?·¢Õ¹µì¶¨ÁË»ù´¡¡£Í¼Áé»úµÄ¸ÅÄîΪºóÀ´µÄ±à³ÌÓïÑÔÌṩÁËÀíÂÛÖ§³Ö¡£
ÄÚ´æ¹ÜÀíÊÇC++±à³ÌÖеÄÒ»¸öºËÐÄÎÊÌ⡣ΪÁ˽â¾öÕâÒ»ÎÊÌ⣬C++11ÒýÈëÁËÖÇÄÜÖ¸Õ루SmartPointers£©¸ÅÄÈçuniqueptr¡¢sharedptrºÍweak_ptr¡£ÕâЩÖÇÄÜÖ¸Õë×Ô¶¯¹ÜÀí¶ÔÏóµÄÉúÃüÖÜÆÚ£¬±ÜÃâÁËÊÖ¶¯¹ÜÀíÄÚ´æ´øÀ´µÄ´íÎóºÍ×ÊԴй©¡£
ÖÇÄÜÖ¸ÕëµÄÒýÈë²»½ö¼ò»¯ÁËÄÚ´æ¹ÜÀí£¬»¹Ìá¸ßÁË´úÂëµÄ°²È«ÐԺͿÉά»¤ÐÔ¡£ËüÃÇÔÚÏÖ´úC++¿ª·¢Öй㷺ӦÓ㬳ÉΪÁËC++±à³ÌµÄÖØÒª¹¤¾ß¡£
¾¡¹ÜC++ÒѾÔÚ¼ÆËã»ú¿ÆÑ§ÁìÓòÕ¼¾ÝÁËÖØÒªµØÎ»£¬µ«?Ëü²¢Î´Í£Ö¹½ø»¯¡£Ðµıê×¼°æ±¾²»¶Ï·¢²¼£¬Ã¿Ò»°æ¶¼´øÀ´ÁËеÄÌØÐԺ͸Ľø¡£ÀýÈ磬C++11ÒýÈëÁ˶àÏß³Ì?Ö§³ÖºÍLambda±í´ïʽ£¬C++14Ôö¼ÓÁËauto¹Ø¼ü×ÖºÍÄ£°å±äÁ¿£¬C++17ÔòÒýÈëÁ˲¢ÐÐËã·¨ºÍ¾ßÃû²ÎÊýµÈÌØÐÔ¡£
δÀ´£¬Ëæ×ÅÈ˹¤ÖÇÄÜ¡¢ÎïÁªÍøºÍÁ¿×Ó¼ÆËãµÈÇ°ÑØ¼¼ÊõµÄ·¢Õ¹£¬C++½«¼ÌÐøÔÚ¸ßÐÔÄܼÆËãÁìÓò·¢»ÓÖØÒª×÷Óá£Ðµıê×¼ºÍ¿ª·¢¹¤¾ß½«½øÒ»²½¼ò»¯¸´ÔÓÓ¦ÓõĿª·¢¹ý³Ì£¬Ê¹Æä¸ü¼Ó¸ßЧºÍ°²È«¡£
C++98:ÕâÊǵÚÒ»¸öÕýʽµÄC++±ê×¼£¬ÒýÈëÁËÄ£°åºÍÔËËã·ûÖØÔØµÈÖØÒªÌØÐÔ¡£C++03:¶ÔC++98½øÐÐÁËÐÞ¶©ºÍÀ©Õ¹£¬Ôö¼ÓÁ˱ê×¼¿âÖеÄһЩй¦ÄÜ¡£C++11:ÒýÈëÁËLambda±í´ïʽ¡¢ÖÇÄÜÖ¸Õë¡¢rvalueÒýÓÃºÍÆäËûÏÖ´ú±à?³ÌÌØÐÔ¡£C++14:½øÒ»²½¸Ä½øÁËC++11µÄ±ê×¼£¬Ôö¼ÓÁËһЩС¸Ä½øºÍÐÂÌØÐÔ¡£
C++17:ÒýÈëÁ˲¢ÐÐËã·¨¿â¡¢±äÁ¿³¤¶ÈÊý×é¡¢×Ö·û´®×ÖÃæÁ¿µÈÐÂÌØÐÔ¡£C++20:ÒýÈëÁ˸ü¶àµÄ±ê×¼¿â¸Ä½øºÍÐÂÌØÐÔ£¬Èç¸ÅÄConcepts£©¡¢²¢?Ðбê×¼¿â¡¢µÈ¡£
C++±ê×¼¿â£¨StandardTemplateLibrary,STL£©ÊÇC++µÄºËÐÄ×é³É²¿·ÖÖ®Ò»£¬ËüÌṩÁËһϵÁиßЧµÄÊý¾Ý½á¹¹ºÍËã·¨¡£STL¼«´ó?µØÌáÉýÁËÈí¼þ¿ª·¢µÄЧÂÊ£¬Ê¹¿ª·¢ÕßÎÞÐèÖØÐ·¢Ã÷ÂÖ×Ó£¬¿ÉÒÔÖ±½ÓʹÓÃÕâЩ³ÉÊìµÄ?¹¤¾ß¡£
STLÖеÄÖ÷Òª×é¼þ°üÀ¨ÈÝÆ÷£¨ÈçÏòÁ¿¡¢ÁÐ±í¡¢¼¯ºÏµÈ£©¡¢Ëã·¨£¨ÈçÅÅÐò¡¢²éÕÒ¡¢µü´úµÈ£©ºÍº¯Êý¶ÔÏó£¨È纯Êý¶ÔÏó¡¢Î½´ÊµÈ£©¡£ÕâЩ¹¤¾ßʹµÃC++¿ª·¢ÕßÄܹ»¿ìËÙ¹¹½¨¸´ÔÓµÄÈí¼þϵͳ¡£