これは些細なことですが、私はそれを見つけることができないようです(そのようなクラスが存在しない限り!)
スマートポインタのSTLクラス(またはクラスのセット)とは何ですか?
アップデート
回答ありがとうござい
ます。標準の実装がないことに驚いています。
私はこれを使用することになりました: http: //archive.gamedev.net/reference/articles/article1060.asp
これは些細なことですが、私はそれを見つけることができないようです(そのようなクラスが存在しない限り!)
スマートポインタのSTLクラス(またはクラスのセット)とは何ですか?
アップデート
回答ありがとうござい
ます。標準の実装がないことに驚いています。
私はこれを使用することになりました: http: //archive.gamedev.net/reference/articles/article1060.asp
すでに述べたTR1shared_ptrを除いて、STLには参照カウントポインタはありません。
boost :: shared_ptrを使用することをお勧めします(boostをダウンロードするだけで十分であり、コンパイルするものはなく、その実装はヘッダーのみです)。
また、Lokiライブラリからのスマートポインタを確認することもできます(ここでも、ヘッダーのみの実装)。
使用可能なスマートポインタの概要については、を参照してください。
Boostが不要/使用できず、コンパイラがTR1を実装している場合は、次を使用できますshared_ptr
(Boostから借用)。
#include <tr1/memory>
...
std::tr1::shared_ptr<Foo> ptr(new Foo);
std::auto_ptr
それ以外の場合、いいえ、バニラSTL以外にスマートポインタはありません。
C++11 では、時間は進みます。
std::shared_ptr
std::weak_ptr
等
COMオブジェクトの場合は、CComPtr<>を使用します。
STL PLUS でしばらくの間実装された代替手段があります。source forgeを参照してください。
"STLplus was originally intended as a library to extend the STL by providing missing container data structures such as smart-pointers, matrices, trees and graphs."