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;。但是万一忘了呢?
相关文章
相关标签/搜索