1. Yes, it's not used. Thought it might be possible to use it implicitly, so the code looks better. 2. Yes. It actually is a smart pointer internally, but i tried to give it reference semantics and syntax. I need this for a synchronization problem. I have a list of references that is accessed from many threads. If one thread retrieves a reference from that list, and the list is cleared while it works on the reference, the reference remains valid until it goes out of scope (if it is a smart reference). This way i can minimize synchronization to the pure access on the list. Maybe it would be better if i just overloaded the '->'-operator. It would have pointer-syntax then, but that would be ok i guess.