我有一个智能指针,我需要传递给一个只接受指针指针的方法。获取智能指针的指针指针
下面是一个示例,其中原始智能指针失去所有权。
int main(int argc, char* argv[])
{
std::unique_pointer<pcap_if_t> object;
auto object_pointer = object.get();
pcap_findalldevs(&object_pointer, ...); // The unique_ptr loses ownership after being passed to the function
}
如果没有原来的智能指针丢失指针所有权,我该怎么做到这一点?
编辑:
我打电话的功能是函数pcap_findalldevs在libpcap的。我担心这个功能可能是失去所有权的原因。
我已经更新了我的代码示例以反映我实际执行的操作。
只要'some_function'没有取得你传递它的指针的所有权,或者它的对象指向你正在做的事情的指针可能就好了。 –
使用'std :: move',你试过了吗? – dlmeetei
@Deleisha你到底想要什么?另一个'std :: unique_ptr'? –