C++µÄµ®ÉúÒ»¶Î¿çԽʱ¿ÕµÄÊ·Ê«,17c.c++µÄÉñÃØÆðÔ´

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

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

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

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

C++17Ôò´øÀ´Á˸ü¶àµÄ?ÓïÑÔÌØÐÔ£¬Èç±äÁ¿Ä£°å¡¢²¢ÐÐËã·¨¿âµÈ¡£2020ÄêµÄC++20±ê×¼Ôò½øÒ»²½Íƶ¯ÁËC++µÄ·¢Õ¹£¬ÒýÈëÁËcoroutines¡¢conceptsµÈÐÂÌØÐÔ£¬Ê¹µÃC++ÔÚ²¢ÐмÆËãºÍ¸ßÐÔÄܱà³Ì·½Ãæ¾ßÓиüÇ¿µÄ¾ºÕùÁ¦¡£

C++ÔÚÏÖ´úÈí¼þ¿ª·¢ÖеÄÓ¦ÓãºÓÎÏ·¡¢ÏµÍ³±à³ÌºÍǶÈëʽ¿ª·¢C++ÔÚÏÖ´úÈí¼þ¿ª·¢ÖеÄÓ¦Ó÷¶Î§·Ç³£¹ã·º£¬´Óϵͳ±à³Ìµ½¸ßÐÔÄܼÆË㣬´ÓǶÈëʽ¿ª·¢µ½ÓÎÏ·¿ª·¢£¬C++¶¼Õ¹ÏÖ³öÁËÆäÇ¿´óµÄ¹¦ÄܺÍÓÅÔ½µÄÐÔÄÜ¡£

ÔÚϵͳ±à?³ÌÁìÓò£¬C++ÒòÆä¸ßЧµÄÄÚ´æ¹ÜÀíºÍµ×²ã²Ù×÷ÄÜÁ¦£¬³ÉΪ²Ù×÷ϵͳ¡¢Çý¶¯³ÌÐòºÍǶÈëʽϵͳ¿ª·¢µÄÊ×Ñ¡ÓïÑÔ¡£ÀýÈ磬LinuxÄںˡ¢Windows²Ù×÷ϵͳµÈ¶¼¹ã·ºÊ¹ÓÃC++½øÐпª·¢¡£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++CoreGuidelines£¬Ñ§Ï°ºÍʹÓôúÂë·ç¸ñÖ¸ÄÏ£¨ÈçGoogleC++StyleGuide£©¡£¹Ø×¢´ú?ÂëµÄ¿É¶ÁÐÔ£¬±ÜÃâ¹ý¶È¸´ÔÓµÄÉè¼Æ¡£Ê¹Óþ²Ì¬·ÖÎö¹¤¾ß£¨ÈçClang-Tidy¡¢PVS-Studio£©¼ì²é´úÂëÖÊÁ¿¡£

C++ûÓÐÄÚ´æ¹ÜÀí»úÖÆ

һЩ¿ª·¢ÕßÈÏΪC++ûÓÐÄÚ´æ¹ÜÀí»úÖÆ£¬µ«Êµ¼ÊÉÏC++ÓÐÊÖ¶¯ÄÚ´æ¹ÜÀíºÍ×Ô¶¯ÄÚ´æ¹ÜÀíÁ½ÖÖ·½Ê½¡£STLÖеÄÖÇÄÜÖ¸Õ루Èçstd::sharedptr¡¢std::uniqueptr£©ÌṩÁË×Ô¶¯ÄÚ´æ¹ÜÀí¡£

±Ü¿Ó·½·¨£ºÑ§Ï°ºÍʹÓÃÖÇÄÜÖ¸Õ룬±ÜÃâÄÚ´æÐ¹Â©ºÍÐü¿ÕÖ¸ÕëÎÊÌ⣬Ìá¸ß´úÂëµÄ°²È«ÐԺͿɿ¿ÐÔ¡£

8.ÎóÇø£ºC++µ±È»£¬ÏÂÃæÊÇC++µ®ÉúÒ»¶Î¿çԽʱ¿ÕµÄÊ·Ê«±Ü¿ÓÖ¸Äϵĵڶþ²¿·Ö£¬¼ÌÐøÌ½Ì֏߯µÎóÇø¼°ÆäÕýÈ·´ò¿ª·½Ê½¡£

++µÄÄÚ´æ¹ÜÀí

C++µÄÄÚ´æ¹ÜÀí»úÖÆÊÇÆäµ×²ã²Ù×÷ÄÜÁ¦µÄÌåÏÖ¡£C++ÔÊÐí³ÌÐòÔ±Ö±½Ó²Ù×÷Äڴ棬ͨ¹ýÖ¸Õ루Pointers£©ºÍ¶¯Ì¬·ÖÅ䣨DynamicMemoryAllocation£©À´¹ÜÀíÄÚ´æ¡£ÕâÖÖÖ±½ÓµÄÄÚ´æ?¹ÜÀíÄÜÁ¦£¬Ê¹µÃC++ÔÚ¸ßÐÔÄܺÍϵͳ¼¶±à?³ÌÖбíÏÖ³öÉ«¡£

ÕâÒ²Òâζ×Å¿ª·¢ÕßÐèÒª½÷É÷´¦ÀíÄÚ´æ¹ÜÀí£¬ÒÔ±ÜÃâ³£¼ûµÄÄÚ´æÐ¹Â©ºÍ·ÃÎÊÔ½½çµÈÎÊÌâ¡£

C++µÄ¿çÆ½Ì¨ÌØÐÔʹµÃËüÄܹ»ÔÚ²»Í¬µÄ²Ù×÷ϵͳºÍÓ²¼þƽ̨ÉÏÔËÐУ¬ÕâΪÈí¼þ¿ª·¢´øÀ´Á˼«´óµÄ±ãÀû¡£Î´À´£¬C++½«¼ÌÐøÍÆ¶¯¿çƽ̨¿ª·¢µÄ?·¢Õ¹£¬Ê¹µÃÈí¼þ¿ª·¢¸ü¼Ó¸ßЧ¡¢±ã½Ý¡£Ëæ×ÅÔÆ¼ÆËãºÍ±ßÔµ¼ÆËãµÄÐËÆð£¬C++ÔÚÕâЩÐÂÐËÁìÓòµÄÓ¦ÓÃǰ¾°½«¸ü¼Ó¹ãÀ«¡£Í¨¹ý½áºÏÏÖ´úC++µÄÐÂÌØÐÔºÍÏȽøµÄ±à³Ì·¶Ê½£¬¿ª·¢ÕßÃǽ«Äܹ»¸ü¼Ó¸ßЧµØ¹¹½¨ºÍ²¿Êð·Ö²¼Ê½ÏµÍ³¡£

C++ÉçÇøµÄ³ÖÐø»îÁ¦ºÍ¹±Ï×Ò²½«Íƶ¯ÓïÑԵIJ»¶Ï½ø»¯¡£¿ªÔ´ÏîÄ¿¡¢±ê×¼»¯¹ý³ÌÒÔ¼°Ñ§Êõ½çµÄÑо¿¹¤×÷£¬¶¼ÎªC++µÄ·¢Õ¹ÌṩÁËÔ´Ô´²»¶ÏµÄ¶¯Á¦¡£Ô½À´Ô½¶àµÄ¿ª·¢Õß¼ÓÈëµ½C++µÄÉú̬ϵͳÖУ¬¹²Í¬Íƶ¯×ÅÕâÒ»ÓïÑԵĴ´?ÐÂºÍÆÕ¼°¡£

C++ÊÇÒ»ÖÖ¸´ÔÓµÄÓïÑÔ

Ðí¶àÐÂÊÖÈÏΪC++ÊÇÒ»ÖÖ¸´ÔÓµÄÓïÑÔ£¬ÄÑÒÔÕÆÎÕ¡£ÊÂʵÉÏ£¬C++µÄ»ù´¡Óï·¨ºÍCÓïÑԷdz£ÏàËÆ£¬Ö»ÊÇÔö¼ÓÁËһЩеÄÌØÐÔ¡£¹Ø¼üÔÚÓÚÀí½âÕâЩÐÂÌØÐÔ£¬¶ø²»ÊDZ»Æä¸´ÔÓÐÔËùÏŵ¹¡£

±Ü¿Ó·½·¨£º´Ó»ù´¡¿ªÊ¼£¬ÏÈÕÆÎÕCÓïÑԵĻù±¾Óï·¨£¬È»ºóÖð²½Ñ§Ï°C++µÄÃæÏò¶ÔÏóÌØÐÔ¡£²»?Òª¼±ÓÚÉîÈ룬ÏÈÀí½âÿ¸ö¸ÅÄîµÄ»ù±¾Ô­Àí¡£

У¶Ô£º¿µ»Ô(p6mu9CWFoIx7YFddy4eQTuEboRc9VR7b9b)

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