参照カウントポインターのSTLクラス?
-
19-08-2019 - |
質問
これは簡単なはずですが、見つけることができないようです(そのようなクラスが存在しない限り!)
スマートポインターのSTLクラス(またはクラスのセット)とは何ですか?
更新
ご回答ありがとうございます。
標準的な実装がないことに驚いたと言わなければなりません。
これを使用することになりました: http://archive.gamedev.net/reference /articles/article1060.asp
解決
既に言及したTR1 shared_ptrを除き、STLには参照カウントポインターはありません。
boost :: shared_ptrを使用することをお勧めします(boostをダウンロードするだけで十分です。コンパイルするものはありません。その実装はヘッダーのみです)。
また、Lokiライブラリのスマートポインターを確認することもできます(これもヘッダーのみの実装です)。
使用可能なスマートポインターの概要については、そこをご覧ください。
他のヒント
Boostを使用したくない/使用できない場合、コンパイラは TR1 、shared_ptr
(Boostから借用)を使用できます:
#include <tr1/memory>
...
std::tr1::shared_ptr<Foo> ptr(new Foo);
それ以外の場合、いいえ、バニラSTLにはstd::auto_ptr
以外のスマートポインターはありません。
C ++ 11での時間の進行:
std::shared_ptr
std::weak_ptr
etc。
COMオブジェクトの場合、 CComPtr <!> ltを使用します; <!> gt; 。
所属していません StackOverflow