学习笔记之智能指针简单理解
来源:互联网 发布:网络维修基础知识 编辑:程序博客网 时间:2024/06/05 17:58
智能指针 shared prt
存在一个智能指针类,这个指针类中有一个指针指向所要指向的变量,还有一个该变量的引用次数(就是有多少个指针指向该变量)每被赋值一次,该变量的引用就多一次,当要释放的时候,会先检查该变量的引用次数如果该变量的引用次数是0才会释放内存否则的话只是将要释放的指针置空。
智能指针解决的问题是悬挂指针(野指针)
设计思想是 将基本类型的指针封装为类对象指针(可以是模版类)并在析构函数里进行删除指针指向内存。
智能指针是一个类的对象,当一个类对象的生存周期过期时,会自动进行析构和销毁申请的内存空间。
STL一共给我们提供了四种智能指针:auto_ptr、unique_ptr、shared_ptr和weak_ptr(
避免将非堆变量用智能指针进行指向。因为会释放栈内存导致错误。
Shared_ptr指针的引用计数是通过一个类对象完成的
还可以通过堆内存实现引用。。比如malloc一个空间专门存放引用数量或者可以用静态类
Class shared_ptr_count
{
Int * p;
Int use;
}
Class shared_ptr
{
Shared_ptr_count * p;
}
0 0
- 学习笔记之智能指针简单理解
- c++11学习笔记之智能指针
- C++学习笔记之智能指针
- 学习笔记之智能指针shared_ptr
- 智能指针学习笔记
- 学习笔记之智能指针和线程安全内容笔记
- CComPtr智能指针学习笔记
- Android智能指针学习笔记
- Boost学习笔记-智能指针
- C++学习笔记--智能指针
- c++学习笔记之运算符重载与智能指针
- 【02】 Boost库学习笔记之智能指针(Smart_ptr)
- pointer-like classes智能指针笔记----C++学习之路
- 智能指针的理解 和 简单实现
- C++学习之智能指针
- C++学习笔记之一智能指针
- C++学习笔记(八) 智能指针
- C++学习笔记28 智能指针
- TextView中设置DrawableLeft
- IE和FF浏览器的区别
- Hadoop集群搭建
- JSP如何输出当前时间
- Android Studio如何更改JDK和SDK的路径?
- 学习笔记之智能指针简单理解
- hdu3400 Line belt 【三分搜索】
- linux interrupt, deferrable function
- 第七周项目1:成员函数、友元函数和一般函数的区别
- OpenCV颜色识别
- GitHub:怎样在参与开发时同步你的远程代码仓库
- Struts2知识点总结大全
- iOS多语言功能开发小结
- 制作mac 系统盘