自动内存管理的一个思路

以前,我老想弄一个计数法的智能指针管理内存对象,但是无论无何都无法解决引用循环的问题。

最近有一个思路和大家分享:

对象的过程是:创建、使用、释放。自动内存管理的思路基于:当无(外部)引用的时候,自动释放对象(或对象环)。也就是着眼于创建和释放这两点。而事实上,对象释放的时机并非是没有引用,而是不再使用的时候。

当一个对象有n个引用,但是已经不再使用了,那么它一样应该释放,而不是等这些持有引用的对象自然消亡。

为何要自动管理内存,是为了防止程序员忘掉释放。虽然当无引用的时候确实符合释放的条件,但是不是严格的条件。如果能够找到不再使用的点去释放,这样就无需关注是否还有引用。

我的想法是做一个关联表。某个对象是另一个对象的实用对象,因此把这两个对应起来,当这个对象释放的时候自动释放它关联的对象这样就能解决问题。

posted @ 2013-01-25 14:03  诺贝尔  阅读(228)  评论(0编辑  收藏  举报