refcount
refcount is short for reference counter. it's a field in an object that tracks how many pointers are pointing at the object. when it gets to zero you can delete the object. in theory it eliminates that dangling pointer problem. ie someone uses a pointer to an object that's been deleted. generally considered bad news. the problem is, in practice, refcounts suck. big time. there are two choices. you can tightly bind access to the object with updating the refcount. this is the most safe option. unfortunately, it's inefficient as hell. the other choice is to rely on the user to update the refcount. this is somewhat error prone. hah. who am i kidding. it's a recipe for disaster. every once in a while someone at work suggests we use refcounts. i just shake my head. you were a cs major weren't you? no one uses refcounts in the real world. sigh. but then there's microsoft. i hate that company so much.