码迷,mamicode.com
首页 > 其他好文 > 详细

智能指针类模板

时间:2018-06-23 01:32:39      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:智能   计数   一个   拷贝构造   不同的   stl   weak_ptr   机制   ++   

智能指针的意义

现代c++开发库中最重要的类模板之一

c++中自动内存管理的主要手段

能够在很大程度上避开内存相关的问题

 

STL中的智能指针auto_ptr

  生命周期结束时,销毁指向的内存空间

  不能指向堆数组,只能指向堆对象(变量)

  一片堆空间只属于一个智能指针对象

  多个智能指针对象不能指向同一片堆空间

 

STL中的其它智能指针

shared_ptr

  带有引用计数机制,支持多个指针对象指向同一片内存

weak_ptr

  配合shared_ptr而引入的一种智能指针

unique_ptr

  一个指针对象指向一片内存空间,不能拷贝构造和赋值

 

Qt中的智能指针

QPointer

  当其指向的对象被销毁时,它会被自动置空

  析构时不会自动销毁所指向的对象

QSharedPointer

  引用计数型智能指针

  可以被自由地拷贝和赋值

  当引用计数为0时才删除指向的对象

 

小结

智能指针c++中自动内存管理的主要手段

智能指针在各种平台上都有不同的表现形式

智能指针能够尽可能的避开内存相关的问题

STL和Qt中都提供了对只能指针的支持

  

智能指针类模板

标签:智能   计数   一个   拷贝构造   不同的   stl   weak_ptr   机制   ++   

原文地址:https://www.cnblogs.com/sugarWill666/p/9215929.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!