3

我们能够将 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 指针转换为普通指针。

4

3 回答 3

8

使用释放()

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

  return test.release()
}
于 2012-05-02T12:09:39.740 回答
3

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

是的:

return test.release();
于 2012-05-02T12:09:35.880 回答
1

见 std::auto_ptr 的释放方法:http ://www.cplusplus.com/reference/std/memory/auto_ptr/release/

于 2012-05-02T12:10:23.060 回答