我有一个智能指针用于一个对象,我需要将其传递给一个只接受指针指针的方法。
以下是一个例子,其中原始智能指针失去了所有权。
我该如何做到这一点,而又不使原智能指针失去指针所有权呢?
编辑: 我正在调用libpcap中的pcap_findalldevs函数。我担心这个函数可能是丢失所有权的原因。 我已经更新了我的代码示例以反映实际操作。
以下是一个例子,其中原始智能指针失去了所有权。
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
}
我该如何做到这一点,而又不使原智能指针失去指针所有权呢?
编辑: 我正在调用libpcap中的pcap_findalldevs函数。我担心这个函数可能是丢失所有权的原因。 我已经更新了我的代码示例以反映实际操作。
some_function
不获取您传递给它的指针或其对象指向的指针的所有权,那么您所做的可能就没问题了。 - Captain Obvlious