前言:智能指针auto_ptr(只能指向动态内存)(也是unique_ptr的一种)
auto_ptr是c++标准库的类模板,auto_ptr对象通过初始化指向new创建的动态内存,auto_ptr对象即为这块内存的拥有者,一块内存不能有两个拥有者。
当auto_ptr对象的生命周期结束时,析构函数会将auto_ptr对象拥有的动态内存自动释放,防止内存泄漏。
内存泄漏
- // 示例1(a):原始代码
- void f()
- {
- T* pt( new T );
- /*...更多的代码...*/
- delete pt;