最早期实践-树形托管 在最早期的引擎基础库设计版本中,直接使用了new来实例化对象,通过保存裸指针来引用,为了不用手动的删除对象,采用了类似QT的父对象托管方法,整体对象结构呈树型,在全局处会有一个Root对象作为树根,当删除树中某一节点时,该节点下的所有对象都将会被删除。 这种树形的托管结构会增加开发者的内存管理心理负担,这个结构经过实践发现只适用于一部分场景,比如反序列化。反序列化需要从数据中新建对象,使用后只要销毁根节点还可以自动全部销毁。 引用问题 当销毁一个节点时该节点下的对象销毁的顺序问题,假如有个A节…