从auto_ptr转换为普通指针

owa*_*agh 3 c++ stl auto-ptr

我有一些第三方库生成并返回auto_ptr.但是,我真的想使用一些STL容器.

所以我猜一种方法是转换

auto_ptr <int> ptr = some_library_call ();
Run Code Online (Sandbox Code Playgroud)

进入常规的c ++指针.以下工作会吗?

int* myptr = ptr;
Run Code Online (Sandbox Code Playgroud)

如果没有,使用STL和auto_ptr的最佳方法是什么(是的,我知道它不能直接工作......我知道stl和auto_ptr不能混合在一起)?

Die*_*lla 8

你可以使用任何一个,ptr.get()如果你想获得指针,然后仍然让它 auto_ptr删除它,或者ptr.release()用来获取指针并auto_ptr忘记它(你必须在之后删除它.)