
Most of us that work in the IT industry have been around for a long time. We started out in our parents basement writing code in some BASIC environment, ussually Commodore BASIC or QBASIC. Do you remember how thrilling it was? Your first program and it was something extremely basic but the point was it worked. Some of us got hooked right away and kept trying to solve problems and added more and more pushing the capabilities of whatever language we used. As we got older the environments progressed and the programming tools progressed and got more complicated.
In "Effective STL", Scott Meyers points out that you shouldn't use smart pointers (auto_ptr) in STL containers (i.e., vector of smart pointers). In fact, compilers should NOT allow it. I don't know if you're using auto pointers or rolling your own smart pointers, but either way I question just how savvy you are with C++.