汽车电子嵌入式技术篇(三) -数据结构C++语言实现三部曲--&异常类&顶层父类

智能指针类

 

1.C++语言存在的问题

C++语言中没有垃圾回收机制,指针无法控制所指堆空间的生命周期,如果在动态申请堆空间后不释放堆空间,就会造成内存泄漏

2.解决内存泄漏的方案

C++语言中提供了智能指针的方案解决内存泄漏的问题。使用智能指针,在指针生命周期结束时主动释放堆空间,一片堆空间最多由一个指针标识,同时杜绝指针运算和指针比较。

3.智能指针的设计方案

通过类模板(泛型编程)描述指针的行为,使用类模块就能够定义不同的指针对象。重载指针操作符”->”和”*”,利用智能指针对象模拟原生指针的行为。

4.智能指针实例

#ifndef SMARTPOINTER_H_INCLUDED#define SMARTPOINTER_H_INCLUDED
#include <iostream>
using namespace std;
template<typename T>class SmartPointer{
  
   
   protected:    T *m_pointer;
public:    SmartPointer(T

Guess you like

Origin blog.csdn.net/m0_50230964/article/details/121697782