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

问题描述 投票:0回答:1

我正在尝试将智能指针作为函数的参数传递,该函数接受指针的指针。我想知道是否有适当的解决方案。

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

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

foo(&myClass.get())
c++11 smart-pointers
1个回答
2
投票

这是行不通的,而且它不是好事。

你需要传递Foo**大概有两个原因。它可能是一个想要一个2D数组(指向数组的指针数组)的函数,或者该函数有一个Foo*as输出(那时应该使用Foo*&)。在你的情况下,你似乎正在处理数组的情况,因为这个参数叫做input

© www.soinside.com 2019 - 2024. All rights reserved.