Patent ID: 7730449

Claim:
A method for using a computer to manage an object in a software environment, comprising the steps of: creating a reference count object upon a first reference to an associated real object; attaching the reference count object to a pointer object associated with the real object; directing a pointer lookup request to the reference count object in accordance with a location specified by a free pointer; incrementing a reference count value associated with the reference count object upon each occurrence of a reference to and a derivative of the real object; attaching a reference count object to each derivative of the real object; detaching each reference count object from each reference and to a derivative of the real object when it goes out of scope; decrementing the reference count value each time an instance of the reference count object goes out of scope; and deleting a final reference count object when a last count object instance goes out of scope, wherein the object is a base object, the pointer object is a base pointer object, and the base object comprises a pointer object constructor, the steps further comprising: deriving a derived object from the base object; casting a second pointer object casted to the derived object; attaching the second pointer object to the reference count object; and incrementing the reference count object.