学习笔记36-C++ 智能指针
来源:互联网 发布:c语言预处理指令格式 编辑:程序博客网 时间:2024/06/14 05:44
动态分配内存-回收问题
因为C++没有自动内存回收机制,程序员每次new出来的内存都要手动delete,如果程序员忘记delete,那么这个指针指向的对象不能被安全删除,比如下面的情况:
Object_type *ptr=new Object_type();ptr->func();delete ptr;
如果程序员忘记第三行的delete,那么会造成一个悬挂指针(dangling pointer),也就是说这个指针指向的内存区域程序员无法把握和控制,非常容易造成内存泄漏。
而且,如果上述程序在执行过程中,func()运行时抛出异常,那么就算第三行有delete,对象也不能被安全删除。
智能指针
智能指针就是为了解决上述问题,它和普通指针的区别在于对普通指针加了一层封装机制,这样一层封装机制的目的是为了方便的管理一个对象的生命周期。
智能指针可以简单理解为自动释放当前管理的内存。
阅读全文
0 0
- C/C++学习笔记:智能指针详解
- C++primer学习笔记----智能指针
- 智能指针学习笔记
- 学习笔记36-C++ 智能指针
- CComPtr智能指针学习笔记
- Android智能指针学习笔记
- Boost学习笔记-智能指针
- C++学习笔记--智能指针
- C++学习笔记之一智能指针
- C++学习笔记(八) 智能指针
- c++11学习笔记之智能指针
- C++学习笔记28 智能指针
- C++学习笔记之智能指针
- C++11学习笔记5---智能指针
- 学习笔记之智能指针简单理解
- 学习笔记之智能指针shared_ptr
- C 指针学习笔记
- C指针学习笔记
- Linux下oracle数据库启动和关闭操作
- Mybatis 获取插入记录的自增ID
- 运动-2公里小试
- jvm垃圾回收机制
- Spark分布式编程之全局变量专题【共享变量】
- 学习笔记36-C++ 智能指针
- 23种设计模式(13):迭代器模式
- python 调用函数
- Java常用API(三)Pattern 正则表达式
- Spring 代理
- MSM8998(高通835处理器)外接指纹识别传感器linux驱动
- 学历和技术孰轻孰重,不应该成为非此即彼的问题!
- FreeMark显示界面
- ImageNet