boost::shared_ptrやstd::shared_ptrの便利さは、boostやC++11に慣れた方であれば当然ご存知かと思います(もちろん、循環参照の危険性や、それを回避するためのweak_ptrの使い方まで含めて)。型修飾子にはconstとvolatile(人によっては型修飾子はlongとかshortのサイズ修飾のキーワードを指している場合があるようですが、ここではK&Rに従います。weak_ptrの3種のスマートポインタが新たに追加された。これらのスマートポインタは、いずれもメモリの動的確保の利用の際に生じる多くの危険性を低減する目的で使用されるが、それぞれ独自の考え方と機能を持っている。