auto_ptr到正常的指针转换

时间:2012-05-02 12:07:34

标签: c++ pointers auto-ptr

我们能否将std :: auto_ptr转换为普通指针??

    class Test
    {
     ......
    }

    Test* function()
    {
      std::auto_ptr<Test> test(new Test());

      return _____//TODO : need to convert this auto_ptr to Test*
    }

是否可以将本地创建的auto_ptr指针转换为普通指针。

3 个答案:

答案 0 :(得分:8)

使用release()

Test* function()
{
  std::auto_ptr<Test> test(new Test());

  return test.release()
}

答案 1 :(得分:3)

  

是否可以将本地创建的auto_ptr指针转换为普通指针。

是:

return test.release();

答案 2 :(得分:1)

请参阅std :: auto_ptr的发布方法:http://www.cplusplus.com/reference/std/memory/auto_ptr/release/