±à³ÌÓïÑÔµÄÑݱä
Ëæ×żÆËã»ú¼¼ÊõµÄ²»¶Ï½ø²½£¬17c.c++Ò²ÔÚ²»¶ÏÑݱäºÍ¸üС£Ã¿Ò»´Î?µÄÉý¼¶¶¼´øÀ´ÁËеÄÌØÐÔºÍÓÅ»¯£¬Ê¹Æä¸ü¼ÓÊÊӦеļ¼ÊõÐèÇó¡£´ÓC++98µ½C++11¡¢C++14¡¢C++17£¬Ã¿Ò»´ÎµÄµü´ú?¶¼ÊǶÔÕâÃÅÓïÑÔµÄÈ«ÃæÌáÉý¡£ÕâЩ¸üв»½öÔö¼ÓÁËÓïÑԵŦÄÜ£¬Ò²ÌáÉýÁË´úÂëµÄ¿É¶ÁÐÔºÍά»¤ÐÔ¡£
×ܽáÓëÕ¹Íû
ÔÚÕâÆªÎÄÕ¡¶17c.c++:²¢·ÇÒ»ÈËÖ®±Ê±Ü¿ÓÖ¸ÄÏ£º¸ßƵÎóÇøÓëÕýÈ·´ò¿ª·½Ê½¡·ÖУ¬ÎÒÃǽҿªÁËC++±à³ÌÖеÄ?¼¸´ó¸ßƵÎóÇø£¬²¢ÌṩÁËһЩʵÓõļ¼Çɺͷ½·¨£¬°ïÖúÄúÔÚC++±à³ÌµÄÂóÌÖÐ˳Àû±Ü¿ª¿Ó¶´£¬ÕýÈ·´ò¿ª±à³ÌµÄ´óÃÅ¡£
C++ÊÇһß´ÔÓÇÒÇ¿´óµÄ±à³ÌÓïÑÔ£¬ÕÆÎÕËü²»½öÐèÒªÉîÈëµÄÀí½âÓïÑÔ±¾Éí£¬»¹ÐèÒª¾ÑéºÍÖǻۡ£Ï£ÍûÕâÆªÎÄÕÂÄܹ»ÎªÄúÌṩһЩÓмÛÖµµÄÖ¸µ¼£¬°ïÖúÄúÔÚC++±à³ÌµÄµÀ·ÉÏÈ¡µÃ¸ü´óµÄ½ø²½¡£
ףԸÿһλC++±à³Ì°®ºÃÕß¶¼ÄÜÔÚ±à³ÌµÄÊÀ½çÖÐÕÒµ½×Ô¼ºµÄλÖ㬴´Ôì³ö¸ü¼Ó¾«²ÊµÄ×÷Æ·£¡
Ó°ÏìÓëδÀ´
17c.c++¶ÔÏÖ´ú¼ÆËã»ú¿ÆÑ§µÄÓ°ÏìÊÇÉîÔ¶µÄ¡£Ëü²»½öËÜÔìÁËÈí¼þ¿ª·¢µÄ·½Ïò£¬»¹¶ÔÕû¸ö¼¼ÊõÐÐÒµ²úÉúÁ˹㷺ӰÏ졣δÀ´£¬Ëæ×żÆËã»ú¼¼ÊõµÄ½øÒ»²½·¢Õ¹£¬17c.c++½«¼ÌÐøÔÚеÄÁìÓòÖз¢»Ó×÷Óã¬ÎªÈËÀàµÄ¿Æ¼¼½ø²½¹±Ï×Á¦Á¿¡£
17c.c++²¢·ÇÒ»ÈËÖ®±Ê£¬¶øÊÇÒ»¸ö¼¯ÌåÖǻ۵Ľᾧ¡£ËüµÄµ®ÉúºÍ·¢Õ¹£¬Àë²»¿ªÎÞÊý¿ª·¢ÕߺÍÑо¿ÈËÔ±µÄ²»Ð¸Å¬Á¦ºÍ·îÏס£Ëü²»½öÍÆ¶¯Á˼¼Êõ½ø²½£¬»¹ÎªÈ«ÇòµÄ¼ÆËã»ú¿ÆÑ§·¢Õ¹×ö³öÁ˾޴ó¹±Ïס£ÔÚÕâÌõ̽Ë÷¼ÆËã»ú¿ÆÑ§µÄµÀ·ÉÏ£¬17c.c++½«¼ÌÐøÒýÁìÎÒÃÇǰÐУ¬´øÀ´¸ü¶àµÄ´´ÐºͿÉÄÜÐÔ¡£
¹¤¾ßÓë»·¾³
17c.c++µÄ·¢Õ¹Àë²»¿ª¸÷ÖÖ¹¤¾ßºÍ¿ª·¢»·¾³µÄÖ§³Ö¡£´Ó±àÒëÆ÷¡¢µ÷ÊÔÆ÷µ½¼¯³É¿ª·¢»·¾³£¨IDE£©£¬ÎÞ²»ÎªÕâÃÅÓïÑÔµÄʹÓúͿª·¢ÌṩÁ˱ãÀû¡£GNUCompilerCollection£¨GCC£©¡¢Clang¡¢MSVCµÈÖ÷Á÷±àÒëÆ÷£¬ÒÔ¼°VisualStudio¡¢Eclipse¡¢CLionµÈIDE£¬¶¼Îª17c.c++µÄ¿ª·¢ÌṩÁËÇ¿´ó?µÄÖ§³Ö¡£
ÕâЩ¹¤¾ß²»½öÌá¸ßÁË¿ª·¢Ð§ÂÊ£¬»¹Îª³ÌÐòÔ±ÌṩÁ˷ḻµÄ¹¦Äܺͱã½ÝµÄ²Ù×÷¡£
¼¼Êõ½ø²½µÄÍÆ¶¯Õß
17c.c++²»½öÊÇÒ»ÃÅÓïÑÔ£¬¸üÊÇÍÆ¶¯¼¼Êõ½ø²½µÄÖØÒªÁ¦Á¿¡£ËüµÄ³öÏÖ¼«´óµØÌáÉýÁËÈí¼þ¿ª·¢µÄЧÂÊ£¬Ê¹µÃ¸´ÔӵļÆËãÈÎÎñÄܹ»¸ßËÙÔËÐС£´ÓÔçÆÚµÄ?ϵͳ±à³Ì?µ½ÏÖ´úµÄ¶àýÌå¡¢ÍøÂçºÍÈ˹¤ÖÇÄÜÓ¦Óã¬17c.c++¶¼·¢»ÓÁËÖØÒª×÷Óá£ËüΪÖÚ¶àÐÐÒµµÄ¼¼Êõ·¢Õ¹ÌṩÁ˼áʵµÄ»ù´¡£¬³ÉΪÏÖ´ú¼ÆËã»ú¿ÆÑ§µÄÖØÒª×é³É²¿·Ö¡£
¶ÔÀàºÍ¶ÔÏóµÄ?Îó½â
C++ÖеÄ?ÃæÏò¶ÔÏó±à?³ÌÊÇÆäºËÐÄÖ®Ò»£¬µ«¶ÔÀàºÍ¶ÔÏóµÄÀí½â²»×ãÍùÍù»áµ¼ÖÂһЩÎÊÌâ¡£
Òþʽת»»£¨ImplicitConversion£©£ºÔÚC++ÖУ¬¿ÉÒÔÒþʽµØ½«Ò»¸öÀàÐÍת»»ÎªÁíÒ»ÀàÐÍ¡£ÕâÔÚһЩÇé¿öÏ¿ÉÄܻᵼÖÂÒâÏë²»µ½µÄ½á¹û¡£
¼Ì³ÐºÍ¶à̬µÄÀÄÓãºÔÚÉè¼ÆÀà²ã´Î?½á¹¹Ê±£¬¹ý¶ÈʹÓü̳кͶà̬£¬»áµ¼ÖÂÀàµÄñîºÏ¶È¹ý¸ß£¬ÄÑÒÔά»¤ºÍÀ©Õ¹¡£
½â¾ö·½·¨£ºÔÚʹÓÃÀàºÍ¶ÔÏóʱ£¬¾¡Á¿×ñÑSOLIDÔÔò£¬ÓÈÆäÊǵ¥Ò»Ö°ÔðÔÔòºÍ¿ª·Å·â±ÕÔÔò£¬±ÜÃâÀàµÄñîºÏ¶È¹ý¸ß¡£
¶ÔÄÚ´æ¹ÜÀíµÄ?Îó½â
C++ÊÇÒ»ÃÅÐèÒªÊÖ¶¯¹ÜÀíÄÚ´æµÄÓïÑÔ¡£Ðí¶à³õѧÕßÍùÍù»áÒòΪ¶ÔÄÚ´æ¹ÜÀíµÄ?²»Àí½â¶ø·¸´í?¡£³£¼ûµÄ´íÎó°üÀ¨£º
Ðü¿ÕÖ¸Õ루DanglingPointer£©£ºÔÚÊÍ·ÅÄÚ´æÖ®ºó£¬Èç¹û»¹³ÖÓÐÖ¸Ïò¸ÃÄÚ´æµÄÖ¸Õ룬Õâ¾Í»áµ¼ÖÂÐü¿ÕÖ¸Õë¡£Ðü¿ÕÖ¸Õë¿ÉÄÜ»áÒý·¢Î´¶¨ÒåÐÐΪ¡£
ÄÚ´æ?й©£¨MemoryLeak£©£ºµ±³ÌÐòÔÚÊÍ·ÅÄÚ´æÊ±£¬Íü¼Ç»òÕßûÓÐÊÍ·ÅÄڴ棬µ¼ÖÂÄÚ´æÎÞ·¨±»ÔÙ´ÎʹÓá£
Ë«ÖØÊÍ·Å£¨DoubleFree£©£ºÔÚÊÍ·ÅÄÚ´æºó£¬Ôٴγ¢ÊÔÊÍ·Åͬһ¿éÄڴ棬ÕâÊÇÒ»ÖÖÖÂÃüµÄ´íÎó¡£
½â¾ö·½·¨£º½¨Ò龡Á¿Ê¹Óñê×¼¿âÖеÄÈÝÆ÷£¨Èçvector¡¢listµÈ£©ºÍÖÇÄÜÖ¸Õ루Èçstd::uniqueptr¡¢std::sharedptrµÈ£©£¬ÕâЩ¹¤¾ßÄܹ»°ïÖúÄã¸üºÃµØ¹ÜÀíÄڴ棬±ÜÃâ³£¼ûµÄÄÚ´æ¹ÜÀíÎÊÌâ¡£
У¶Ô£ºÁõ»¢(p6mu9CWFoIx7YFddy4eQTuEboRc9VR7b9b)


