The Old New Thing
Thoughts on creating a tracking pointer class, part 15: A custom shared pointer
Thoughts on creating a tracking pointer class, part 14: Nonthrowing moves with the shared tracking pointer
Thoughts on creating a tracking pointer class, part 13: Restoring the strong exception guarantee
Thoughts on creating a tracking pointer class, part 12: A shared tracking pointer
Thoughts on creating a tracking pointer class, part 11: Repairing assignment
Thoughts on creating a tracking pointer class, part 10: Proper conversion
Thoughts on creating a tracking pointer class, part 9: Conversion
Thoughts on creating a tracking pointer class, part 8: Tracking const objects
Thoughts on creating a tracking pointer class, part 7: Non-modifying trackers, second try
Thoughts on creating a tracking pointer class, part 6: Non-modifying trackers