将智能指针作为函数的指针传递

时间:2018-09-12 10:36:45

标签: c++11 smart-pointers

我试图将智能指针作为函数的参数传递,该函数采用指针的指针。我想知道是否有合适的解决方案。

foo(Class** input)
{
   // Do something
}

myClass = std::make_Unique<Class>();

foo(&myClass.get())

1 个答案:

答案 0 :(得分:2)

那是行不通的,但这是一件好事。

您需要通过Foo**的原因大致有两个。它可能是需要2D数组(指向数组的指针的数组)的函数,或者该函数具有Foo*作为输出(然后应该使用Foo*&)。在您的情况下,您似乎正在处理数组的情况,因为参数称为input