内存泄露

动静申请堆空间,用完后不偿还

C++语言中没有垃圾回收机制

指针无法控制所指堆空间的生命周期

例:内存泄露

#include <iostream>#include <string>using namespace std;class Test{    int i;    public:    Test(int i)    {        this->i = i;    }    int value()    {        return i;    }    ~Test()    {    }};int main(){   for(int i = 0;i<5;i++)   {    Test* p = new Test(i);    cout << p->value() <<endl;   }        return 0;}

输入:

01234

深度的思考:

须要一个非凡的指针

指针的生命周期完结时被动开释堆空间

一片堆空间最多只能由一个指针标识

杜绝指针运算和指针比拟


例:
智能指针: