Boost C++ライブラリ
scoped_ptr - ポインタ(単一のオブジェクト)を所有する。 scoped_array - 配列用のscoped_ptr。 shared_ptr - 他のshared_ptrと共有できるポインタ。最後のshared_ptrが破棄されたときにポインタを破棄する。 shared_array - 配列用のshared_ptr。 weak_ptr - すでにshared_ptrで管理されているオブジェクトへの「弱い」参照を提供する。 intrusive_ptr - ポインタが提供する参照カウンタを使用するshared_ptrに似たクラス。 utility - 以下のようなその他のクラス。 base from member idiom - 派生クラスのコンストラクタの初期化子でベースクラスのメンバを初期化する必要のあるクラスのための回避策を提供する。 checked delete - 不完全な型へのポインタを使用してオブジェクトまたはオブジェクトの配列を破棄しようとする試みをチェックする。 next and prior functions - 特に操作の結果が異なるイテレーターに保存されている必要がある(つまりオリジナルのイテレーターを変更できない)場合に、前方向または両方向のイテレーターをより簡単に操作できる。 noncopyable - コピーコンストラクタと代入演算子を禁止できる。