Это в C++11 shared_ptr находится прямо в std:: - и, соответственно, нужно просто инклудить #include <memory>.
А в C++03, shared_ptr находится уже в std::tr1:: - и поэтому инклудить нужно #include <tr1/memory>.
Бустовские смарт-пойнтеры действительно работают немного иначе, поэтому хочется узнать именно про STL-ные... Но в принципе, они тоже подойдут.
Welcome to the soldier side,
Where there is no one here but me.
People all grow up to die,
There is no one here but me...