读书笔记MoreEffectiveC++(8)
来源:互联网 发布:山东胜通预算软件 编辑:程序博客网 时间:2024/05/12 16:43
了解各种不同意义的new和delete
1.new 做两件事,第一,分配内存。第二,调用constructor为刚分配的内存设定初值。而operator new 来完成第一步操作,返回一个void*指针,指向一块未被赋初值的内存。类比于malloc
2.placement new 是operator的一个特殊版本,除了size_t自变量外,还接受了一个void*参数指向内存,用来接收构造好的对象。placement new 在已经分好的内存上构建对象。
3.new 和 delete 是内建操作符,无法为你控制。
4.operator delete 类比于free,释放内存。 placement new 不和delete配对使用。delete时 先析构对象,然后 operator delete来回收内存
1.new 做两件事,第一,分配内存。第二,调用constructor为刚分配的内存设定初值。而operator new 来完成第一步操作,返回一个void*指针,指向一块未被赋初值的内存。类比于malloc
2.placement new 是operator的一个特殊版本,除了size_t自变量外,还接受了一个void*参数指向内存,用来接收构造好的对象。placement new 在已经分好的内存上构建对象。
3.new 和 delete 是内建操作符,无法为你控制。
4.operator delete 类比于free,释放内存。 placement new 不和delete配对使用。delete时 先析构对象,然后 operator delete来回收内存
0 0
- 读书笔记MoreEffectiveC++(8)
- 读书笔记MoreEffectiveC++(一)
- 读书笔记MoreEffectiveC++(二)
- 读书笔记MoreEffectiveC++(三)
- 读书笔记MoreEffectiveC++(四)
- 读书笔记MoreEffectiveC++(五)
- 读书笔记MoreEffectiveC++(6)
- 读书笔记MoreEffectiveC++(7)
- 读书笔记MoreEffectiveC++(9)
- 读书笔记MoreEffectiveC++(10)
- 读书笔记MoreEffectiveC++(11)
- 读书笔记MoreEffectiveC++(12)
- 读书笔记MoreEffectiveC++(13)
- 读书笔记MoreEffectiveC++(14)
- 读书笔记MoreEffectiveC++(15)
- 读书笔记MoreEffectiveC++(16)
- 读书笔记MoreEffectiveC++(17)
- 读书笔记MoreEffectiveC++(18)
- Caused by: java.lang.NoClassDefFoundError: Could not initialize class
- 快速启动cmd下的Python---如何使用java运行多条cmd命令
- 阻塞模式和非阻塞模式
- 扫描过期文件脚本
- 我在无限互联学习记录连载2
- 读书笔记MoreEffectiveC++(8)
- 数据库获取系统时间与使用
- “MediaPlayer error (1, -2147483648)”的解决方法
- 暑假集训——个人训练赛04——D题
- 实现手机号的分隔显示与编辑181 6836 8565
- 在安卓端使用Jsoup解析HTML
- POJ_2676_Sudoku
- css 多行文本溢出显示省略号(…)全攻略
- 表分区MySQL版本:5.5.11比5.1查询速度明显提高(4倍左右)