C++——智能指针概述

C++指针分类

  • 原始指针(raw pointer)

  • 智能指针:智能指针是原始指针的封装,其优点是会自动分配内存,不用担心潜在的内存泄露

  • 并不是所有的指针都可以封装成智能指针,很多时候原始指针要更方便

  • 各种指针中,最常用的是裸指针,其次是unique_ptr和shared_ptr

  • weak_ptr是shared_ptr的一个补充,应用场景较少

普通指针的释放

  • 类内的指针,在析构函数中释放。
  • C++内置数据类型,如何释放? delete手工释放
  • new出来的类,本身如何释放? 必须delete调用析构函数

智能指针设计思路

  • 智能指针是类模板,在栈上创建智能指针对象。
  • 把普通指针交给智能指针对象。
  • 智能指针对象过期时,调用析构函数释放普通指针的内存。
posted @ 2022-10-30 16:50  香花草的味道  阅读(125)  评论(0)    收藏  举报