你都是全局单例,那当然是对象管理器啦。
但你这还有没说清楚的地方。对象的创建和删除一般是什么场景?多线程是怎么协作的?
【 在 xieyf ( meitian ) 的大作中提到: 】
: 标 题: 关于要不要用智能指针的纠结
: 发信站: 水木社区 (Fri Jul 3 10:45:52 2020), 站内
:
: 现在有个大型场景模型(cad类的),里边涉及到许多对象,比如点,线,面,体等。这个模型是全局单例。
:
: 为了避免内存泄露,现在有两种做法
:
: 1 搞一个对象管理器,所有得创建都通过对象管理器,删除也是对象管理器代劳。
:
: 2 不用对象管理器,用智能指针,每个对象自己管自己
:
: 对象之间还有相互连接和引用。
: 场景有遍历需求
:
:
: 如果用对象管理器的话,感觉写法有点老土。
:
: 用智能指针的话,对象之间的互指免不了要用weakptr,而且遍历的时候麻烦,不好搞,一个简单的统计对象数目都麻烦死。
:
:
: 此外对象之间的互引,无论什么模式都得手动处理。
:
:
: 大家有什么建议和经验可以分享的吗?
:
:
:
: --
:
: ※ 来源:·水木社区
http://www.newsmth.net·[FROM: 114.242.250.*]
--
FROM 76.126.252.*