C++智能指針之auto_ptr、unique_ptr、shared_ptr、weak_ptr的詳細介紹

我們先來看看爲什麼需要有智能指針。看看下面的代碼 void demo(std::string& str) { std::string *ps = new std::string(str); ... str = ps; return; } 上面的代碼很明顯的每次調用都在分配堆上的空間,但是卻從不收回,從而導致內存泄露。當然我們知道在 return;前加上delete ps;。但是萬一忘了呢?
相關文章
相關標籤/搜索