Cocosdx3.0 中使用了新的数据结构 Vector Map Value
经过仔细研究,总结下这三个数据结构的关系和内存管理方式。
1.
Vector Map内部存储cocos2dx的对象,也就是Ref, Value存储基本类型和标准库中的vector map。
Vector Map Value 没有继承Ref 所以不要妄想它们之间相互嵌套
2.Vector Map 加入Ref时会对其加引用retain 弹出会减引用 release
所以说内存管理仍然是引用管理
3.Value内部存储标准库的vector 和map,每复制一个都会新建内存拷贝,析构的时候删除内存。也就是说Value都是独立内存的不存在共享,所以也不用费神去管理内存了。
4.不可能将Ref和普通类型混合存储在一个数据结构中