どのような C スマート ポインター実装が利用可能ですか? C 03 std::auto_ptr: ガベージ コレクションが制限されており、配列に割り当てられたオブジェクトを保持できません。コピーはサポートされていません。 std::auto_ptr_ref: スマート ポインターではありません。コピーと代入のために std::auto_ptr とともに使用されます。 C 11 std::unique_ptr: std::auto_ptr を置き換え、パフォーマンスを向上させ、配列で動作します。 STL コンテナで使用できます。 std::shared_ptr: 参照カウント付きスマート ポインタ。複数の所有者によって共有可能、スレッドセーフ。 std::weak_ptr: std::shared_ptr が所有するオブジェクトへの参照は妨げられません Boost boost::shared_ptr: 標準準拠のshared-ptr、使いやすい、一部では高いオーバーヘッドcase. boost::weak_ptr: 標準準拠のweak_ptr、非所有参照による boost::shared_ptr. boost::scoped_ptr: std::unique_ptr に似ていますが、よりオーバーヘッドが少ないですboost::shared_ptr、STL コンテナでは使用できません。 boost::intrusive_ptr: 独自のスマート ポインター互換クラスを作成するためのカスタマイズ可能なスマート ポインター。 boost::shared_array: 配列の Shared_ptr、動的配列割り当てをサポートし、削除。 boost::scoped_array: 配列の Scoped_ptr はコピー不可で、STL では使用できませんコンテナー。 Qt QPointer: QObject および派生クラスの弱いスマート ポインター。強いpointer. QSharedDataPointer: 強力なスマート ポインター。手動による参照カウントが必要で、QSharedData をサブクラス化できます。 QExplicitlySharedDataPointer: QSharedDataPointer と同様、より詳細な制御を提供します以上デタッチ中。 QSharedPointer: アトミック参照カウント、スレッドセーフ、カスタマイズ可能な削除、高オーバーヘッド。 QWeakPointer: 弱いスマート ポインタ。循環を防ぐための QSharedPointer References. QScopedPointer: 単一所有者のスマート ポインター。QSharedPointer よりもオーバーヘッドが少ないです。