From: Andy Glew (glew_at_[hidden])
Date: 1999-12-04 15:53:55


> Thoughts?

I like your semantic breakdown:
strong/weak, non-null/optional null.

It is better than my keepalive/live breakdown,
because it is more consistent with how I use
reference counted pointers. I find I don't use
reference counts to do garbage collection
- rather, I use reference counts as a debugging
tool that detects when I am deleting an
object that still has outstanding references.

This allows you to put useful stuff in your
destructors - things like releasing locks, etc.
- knowing that the object will be deleted when
you say it should be, but also knowing that
dangling references can be avoided.

You can't do anything useful in a strict GC
system, because you never know when the
GC will be called. E.g. Java's finalize methods
aren't terribly precise.