内存泄露
动静申请堆空间,用完后不偿还
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
深度的思考:
须要一个非凡的指针
指针的生命周期完结时被动开释堆空间
一片堆空间最多只能由一个指针标识
杜绝指针运算和指针比拟
例:
智能指针: