auto_ptr を生成して返すサードパーティ ライブラリがいくつかあります。ただし、いくつかの STL コンテナーを使用したいです。
したがって、1つの方法は変換することだと思います
auto_ptr <int> ptr = some_library_call ();
通常の C++ ポインターに変換します。以下は機能しますか?
int* myptr = ptr;
そうでない場合、auto_ptr で STL を使用する最良の方法は何ですか?
ptr.get()
ポインターを取得し auto_ptr
て後で削除する場合は を使用するか、 を使用ptr.release()
してポインターを取得し、auto_ptr
それを忘れるようにすることができます (後で削除する必要があります)。
auto_ptr で release() を呼び出すと、その値を別のスマート ポインターまたは生のポインターに格納して、STL コンテナーで使用できます。