第二章 cocos2dx架构一瞥
2.1 cocos2dx 引擎系统总览
2.2 内存管理机制
来源于Object-C
2.2.1 C++显示内存管理
通过 new 和 delete 关键字来管理
带来问题:
- 野指针
- 重复释放
- 内存泄漏
2.2.2 C++11 智能指针
unique_ptr shared_ptr weak_ptr
- unique_ptr 指针不能与其他智能指针共享所指对象内存
- shared_ptr 多个shared_ptr 可以共享同一堆分配对象的内存,它在实现上使用了引用计数
- weak_ptr 可以用来指向shared_ptr 指针分配的对象内存,但不拥有该内存,通常可以用来验证shared_ptr 指针的有效用
2.2.3 为什么不使用智能指针
看起来 shared_ptr是个不错的选择
缺点:
- 智能指针有较大的性能损失
- 虽然有效,但是