We have a C++ library that we provide to several different clients. Recently we made the switch from using raw pointers in the public interface to using boost::sharedptr instead
shared_ptr<> is part of the language, as of the release of TR1. See: (TR1)