17c.c++¶ÔÏÖ´ú¼ÆËã»ú¿ÆÑ§µÄ?Ó°ÏìÊÇÉîÔ¶µÄ¡£Ëü²»½öËÜÔìÁËÈí¼þ¿ª·¢µÄ·½Ïò£¬»¹¶ÔÕû¸ö¼¼ÊõÐÐÒµ²úÉúÁ˹㷺ӰÏ졣δÀ´£¬Ëæ×żÆËã»ú¼¼ÊõµÄ½øÒ»²½·¢Õ¹£¬17c.c++½«¼ÌÐøÔÚеÄÁìÓòÖз¢»Ó×÷Óã¬ÎªÈËÀàµÄ¿Æ¼¼½ø²½¹±Ï×Á¦Á¿¡£
17c.c++²¢·ÇÒ»ÈËÖ®±Ê£¬¶øÊÇÒ»¸ö¼¯ÌåÖǻ۵Ľᾧ¡£ËüµÄµ®ÉúºÍ·¢Õ¹£¬Àë²»¿ªÎÞÊý¿ª·¢ÕߺÍÑо¿ÈËÔ±µÄ²»Ð¸Å¬Á¦ºÍ·îÏס£Ëü²»½öÍÆ¶¯Á˼¼Êõ½ø²½£¬»¹ÎªÈ«ÇòµÄ¼ÆËã»ú¿ÆÑ§·¢Õ¹×ö³öÁ˾޴ó¹±Ïס£ÔÚÕâÌõ̽Ë÷¼ÆËã»ú¿ÆÑ§µÄµÀ·ÉÏ£¬17c.c++½«¼ÌÐøÒýÁìÎÒÃÇǰÐУ¬´øÀ´¸ü¶àµÄ´´ÐºͿÉÄÜÐÔ¡£
#includevoidreadFile(conststd::string&filename){std::ifstreamfile(filename);if(!file.is_open()){throwstd::runtime_error("Failedtoopenfile");}std::stringline;while(std::getline(file,line)){std::cout<
ÔÚÉÏÊö´úÂëÖУ¬Îļþ¶ÔÏóÔÚº¯Êýµ÷ÓÃʱ±»³õʼ»¯£¬Îļþ¹Ø±ÕʱÓÉÎö¹¹º¯Êý×Ô¶¯µ÷Óã¬ÕâÊÇRAIIµÄµäÐÍÓ¦Óá£
ÔÚ¸ßÐÔÄܼÆË㣨HPC£©ÁìÓò£¬C++µÄ±íÏÖÓÈΪ³öÉ«¡£C++µÄÐÔÄÜÓÅÊÆºÍÁé»îÐÔʹÆä³ÉΪHPCÁìÓòµÄ?Ê×Ñ¡ÓïÑÔÖ®Ò»¡£´Ó³¬?¼¶¼ÆËã»úµ½±ß??Ôµ¼ÆË㣬C++¶¼ÔÚ·¢»Ó×ÅÖØÒª×÷Óá£ÔÚÕâЩÁìÓò£¬²»½öÓдóÐÍ¿ÆÑÐÍŶÓÔÚŬÁ¦£¬»¹ÓÐÎÞÊýµÄ¶ÀÁ¢Ñо¿ÈËÔ±ºÍ¿ª·¢ÕßÔÚΪC++µÄ·¢Õ¹¹±Ï×Á¦Á¿¡£
17c.c++µÄ³É¹¦²»ÊÇÓɵ¥Ò»µÄÌì²ÅËù´´Ô죬¶øÊÇÖڶ࿪·¢ÕߺÍÑо¿ÈËÔ±µÄ¹²Í¬Å¬Á¦¡£Ëü²»½öÎüÊÕÁËǰÈ˵ľÑéºÍ½Ìѵ£¬¸üÈÚºÏÁËÀ´×ÔÊÀ½ç¸÷µØµÄ´´ÐÂ˼Ïë¡£ÎÞÊý³ÌÐòÔ±ÔÚ´úÂë±àд¡¢µ÷ÊÔºÍÓÅ»¯Öв»¶ÏΪÕâÃÅÓïÑÔ¹±Ï×Öǻۣ¬Ê¹Æä²»¶Ï½ø»¯¡£Ã¿Ò»¸ö°æ±¾µÄ¸üУ¬Ã¿Ò»¸öÐÂÌØÐÔµÄÒýÈ룬¶¼ÊǼ¯ÌåÖǻ۵Ľᾧ¡£
ÔÚÏÖ´úC++±à³ÌÖУ¬ÖÇÄÜÖ¸ÕëÊÇÄÚ´æ¹ÜÀíµÄÍÆ¼ö·½Ê½¡£ÖÇÄÜÖ¸Õë»áÔÚ¶ÔÏóÉú´æÖÜÆÚ½áÊøÊ±×Ô¶¯ÊÍ·ÅÄڴ棬±ÜÃâÁËÄÚ´æÐ¹Â©ºÍÐü¿ÕÖ¸Õë¡£
std::unique_ptr£º¶ÀÕ¼ËùÓÐȨµÄÖÇÄÜÖ¸Õ룬ÊÊÓÃÓÚµ¥¶ÀÓµÓеÄ×ÊÔ´¡£
std::shared_ptr£º¹²ÏíËùÓÐȨµÄÖÇÄÜÖ¸Õ룬ÊÊÓÃÓÚ¶à¸ö¶ÔÏó¹²Ïí×ÊԴʱʹÓá£
std::weak_ptr£ºÈõÒýÓ㬲»»áÓ°Ïì¶ÔÏóµÄÉúÃüÖÜÆÚ£¬ÓÃÓÚ·Àֹѻ·ÒýÓá£
ʹÓÃÖÇÄÜÖ¸Õ룬¿ÉÒÔ´ó´ó¼õÉÙÄÚ´æ¹ÜÀíÏà¹ØµÄ´íÎó£¬Ìá¸ß´úÂëµÄ¿Éά»¤ÐÔ¡£
#includevoidexample(){std::unique_ptrptr=std::make_unique(10);std::shared_ptrshared_ptr=std::make_shared(20);}
½â¾ö·½·¨£ºÔÚÏÖ´úC++±à³ÌÖУ¬¾¡Á¿Ê¹ÓÃÖÇÄÜÖ¸Õë´úÌæÂãÖ¸Õ룬Ìá¸ß´úÂëµÄ?°²È«ÐԺͿÉά»¤ÐÔ¡£
У¶Ô£ºÕÅŸ