C++µÄÉú³¤Àú³Ì³äÂúÁËÒ»Ö±µÄÁ¢ÒìºÍÍêÉÆ¡£ÔÚ×î³õµÄ¼¸Ä꣬±´Ñŵ¡¤Ë¹ÌØÀÍË¹ÌØÂ³ÆÕ²»µ«ÖÂÁ¦ÓÚÓïÑÔ×Ô¼ºµÄ¿ª·¢£¬»¹±àдÁ˵Ú?Ò»²¿C++±ê×¼½Ì¿ÆÊé¡¶TheC++ProgrammingLanguage¡·£¬ÕâΪC++µÄÆÕ¼°ºÍѧϰµÓÚ¨Á˼áʵµÄ»ù´¡¡£
Ëæ×Åʱ¼äµÄÍÆÒÆ£¬C++ÂÄÀúÁ˶à´Î°æ?±¾µÄ¸üкÍˢС£Ã¿Ò»´Î¸üж¼´ø?À´ÁËеÄÌØÕ÷ºÍÓÅ»¯£¬Ê¹ÆäÔ½·¢Ç¿Ê¢ºÍ¸ßЧ¡£´ÓC++98µ½C++11£¬ÔÙµ½C++14¡¢C++17ºÍC++20£¬Ã¿Ò»´Î±ê×¼µÄ¸üж¼¼«´óµØÌáÉýÁËC++µÄ¹¦Ð§ºÍÌåÏÖÁ¦¡£
1983Ä꣬BjarneStroustrupÕýʽÐû²¼ÁËËûµÄ½Ü×÷¡ª¡ªC++µÄ½µÉú¡£ÕâÃÅÓïÑÔ²»µ«ÔÚÓï·¨ºÍ¹¦Ð§ÉÏÀ©Õ¹ÁËCÓïÑÔ£¬»¹ÒýÈëÁËÃæÏò¹¤¾ß±à³ÌµÄ¿´·¨¡£C++µÄ·ºÆð£¬Ê¹µÃÈí¼þ¿ª·¢½øÈëÁËÒ»¸öȫеÄʱ´ú¡£ËüΪ³ÌÐòÔ±ÌṩÁ˸üǿʢµÄ¹¤¾ß£¬Ê¹µÃÖØ´óµÄÈí¼þ¿ª·¢±äµÃÔ½·¢Ö±¹ÛºÍ¸ßЧ¡£
C++µÄÃû×ÖÖеġ°++¡±²¢?·Ç¼ÓºÅµÄÒâ˼£¬¶øÊÇÀ´×ÔÓÚCÓïÑÔÖеÄÒ»¸ö²Ù×÷·û£¬ÌåÏÖÔöÁ¿²Ù×÷¡£StroustrupÑ¡ÔñÕâ¸öÃû×Ö£¬¼ÈÏòCÓïÑÔÖ¾´£¬ÓÖÅú×¢C++ÊÇCÓïÑÔµÄ?À©Õ¹¡£ÕâÒ»Á¢ÒìµÄÃüÃû·½·¨£¬¾«Á·¶øÓÐÁ¦£¬ÎªC++Ó®µÃÁËÆÕ±éµÄ¹Ø×¢ºÍÈϿɡ£
BjarneStroustrup³öÉúÓÚ1950Ä꣬ÔÚÒ»ËùµÂÓïѧУ½ÓÊÜÁËÔçÆÚ½ÌÓý£¬ØÊºóǰÍùÃÀ¹ú¼ÌÐøÉîÔì¡£ËûÔÚÆÕÁÖ˹¶Ù´óѧ»ñµÃÁËÅÌËã»ú¿ÆÑ§µÄ²©Ê¿Ñ§Î»¡£ÔÚ½øÈë±´¶ûʵÑéÊÒ֮ǰ£¬ËûÒѾ¶Ô±à?³Ì?ÓïÑÔµÄÉè¼ÆºÍÉú³¤ÓÐÁËÉîÈëµÄÑо¿¡£
ÔÚ±´¶ûʵÑéÊÒÊÂÇéʱ´ú£¬StroustrupÃæÁÙ×ÅÒ»¸öÖ÷ÒªµÄÌôÕ½£ºÔõÑùÉè¼ÆÒ»ÖÖ±à³Ì?ÓïÑÔ£¬¼ÈÄܼÌÐøCÓïÑԵĸßЧÐÔ£¬ÓÖÄÜÖ§³ÖÃæÏò¹¤¾ß±à³ÌµÄ¿´·¨¡£CÓïÑÔËäÈ»ÔÚϵͳ±à³ÌºÍ¸ßÐÔÄÜÅÌËã·½ÃæÌåÏÖ¾«²Ê£¬µ«ÔÚÖØ´óϵͳµÄ¿ª·¢ÖУ¬Ëüȱ·¦¶ÔÖØ´óÊý¾Ý½á¹¹ºÍ¹¤¾ßµÄÖ±½ÓÖ§³Ö¡£
2020Ä꣬C++20±ê×¼Ðû²¼£¬ÕâÒ»°æ±¾±»ÒÔΪÊÇC++ÀúÊ·ÉÏ×îÖ÷ÒªµÄÒ»´Î¸üÐÂÖ®Ò»¡£C++20ÒýÈëÁËÐí¶àÐÂÌØÕ÷£¬Èç¿´·¨£¨Concepts£©¡¢co_await£¨Òì²½±à³Ì£©ºÍranges¿âµÈ£¬Ê¹µÃC++ÔÚÏÖ´ú±à³ÌÐèÇóÖоßÓиüÇ¿µÄ¾ºÕùÁ¦ºÍ˳ӦÐÔ¡£
ÔÚC++µÄ¿çԽʱ¿ÕµÄÉú³¤Ê·ÖУ¬Ëü²»?½öÕ¹ÏÖÁËÊÖÒÕÉϵÄˢУ¬»¹·´Ó¦ÁËÅÌËã»ú¿ÆÑ§ÁìÓòµÄÕûÌåǰ½ø¡£´Ó×î³õµÄÉè¼ÆÀíÄîµ½ÏÖ´úµÄ±ê×¼»¯Àú³Ì£¬C++Ò»Ö±ÔÚÍÆ¶¯×ÅÊÖÒÕµÄÇ°ÑØÉú³¤¡£ËüµÄÀֳɣ¬²»µ«¹é¹¦ÓÚÆäÆæÒìµÄÊÖÒÕÌØµã£¬»¹µÃÒæÓÚÆäÒ»Á¬µÄÁ¢ÒìºÍ˳ӦÐÔ¡£
C++µÄ½µÉúºÍÉú³¤£¬ÎÞÒÉÊÇÅÌËã»ú¿ÆÑ§ÀúÊ·ÉϵÄÒ»¶Î´«Ææ¡£ËüµÄÆðÔ´³äÂúÁËÉñÃØºÍÌôÕ½£¬µ«ÕýÊÇÕâЩÌôÕ½ºÍÁ¢Ò죬ʹµÃC++³ÉΪÁËÏÖ´úÅÌËã»ú¿ÆÑ§Öв»¿É»òȱµÄÒ»²¿·Ö¡£Í¨¹ý̽Ë÷C++µÄ½µÉúÅä¾°ºÍÉú³¤Àú³Ì£¬ÎÒÃDz»µ«Äܹ»¸üºÃµØÃ÷È·Õâһΰ´óµÄ±à³ÌÓïÑÔ£¬»¹Äܹ»´ÓÖлñµÃÃû¹óµÄÆôʾºÍÁé¸Ð¡£
C++µÄ×î´óÁÁµãÖ®Ò»£¬¾ÍÊÇËüÒýÈëÁËÃæÏò¹¤¾ß±à³Ì£¨OOP£©µÄ¿´·¨¡£OOPÊÇÒ»ÖÖ½«³ÌÐòÉè¼Æ³é?ÏóΪʵÌåµÄÒªÁ죬ʹµÃ´úÂëÔ½·¢Ä£¿é»¯¡¢¿Éά»¤ºÍ¿ÉÀ©Õ¹¡£Í¨¹ýÀàºÍ¹¤¾ßµÄ¿´·¨£¬³ÌÐòÔ±¿ÉÒÔ½¨Éè×Ô½ç˵µÄÊý¾ÝÀàÐÍ£¬²¢Í¨¹ý¼ÌÐøºÍ¶à̬ÐÔ£¬ÊµÏÖ´úÂëµÄÖØÓú͸´Óá£
ÕâÖÖÃæÏò¹¤¾ßµÄ±à³ÌÄ£×Ó£¬ÎªÈí¼þ¿ª·¢´ø?À´Á˸ïÃüÐÔµÄת±ä¡£ÖØ´óµÄϵͳ¿ÉÒÔ±»ÆÊÎöΪ¸üСµÄ¡¢¿É¹ÜÀíµÄ¹¤¾ß£¬Õâ´ó´ó¼ò»¯ÁËÈí¼þÉè¼ÆºÍ¿ª·¢Àú³Ì¡£C++µÄÕâÒ»ÌØÕ÷£¬Ê¹µÃËüÔÚϵͳ±à?³Ì¡¢Í¼ÐνçÃæ¡¢ÓÎÏ·¿ª·¢µÈÁìÓò»ñµÃÁËÆÕ±éÓ¦Óá£
ΪÁËʵÏÖÕâһĿµÄ£¬Stroustrup×îÏÈÔÚCÓïÑԵĻù´¡ÉϾÙÐÐÀ©Õ¹ºÍˢС£ËûÒýÈëÁËÀࣨclass£©ºÍ¹¤¾ß£¨object£©µÄ¿´·¨£¬Ê¹µÃC++Äܹ»¸üºÃµØÖ§³ÖÃæÏò¹¤¾ß±à³Ì¡£ÕâЩÐÂÌØÕ÷²»µ«Ìá¸ßÁË´úÂëµÄ¿Éά»¤ÐԺͿÉÀ©Õ¹ÐÔ£¬»¹Ê¹µÃÖØ´óϵͳµÄ?¿ª·¢±äµÃÔ½·¢Ö±¹ÛºÍ¸ßЧ¡£
Stroustrup»¹ÒýÈëÁËÐ麯Êý£¨virtualfunction£©ºÍ¼ÌÐø£¨inheritance£©µÈ¿´·¨£¬Ê¹µÃC++¾ß±¸Á˶à̬ÐÔ¡£ÕâÐ©ÌØÕ÷ʹµÃ´úÂë¿ÉÒÔÔ½·¢ÎÞаµØ¾ÙÐÐÖØÓúÍÀ©Õ¹£¬ÎªÈí¼þ¿ª·¢´øÀ´Á˸ïÃüÐÔµÄת±ä¡£