gpt4 book ai didi

C++ 明确表示库拥有指针

转载 作者:太空狗 更新时间:2023-10-29 21:03:59 26 4
gpt4 key购买 nike

是否通过使用智能指针。我想向库的用户明确表示,他们传递到库中的所有指针现在都应归库所有(即不由用户释放)。

许多开源库只是在其文档中声明该库拥有或不拥有一切。他们讨论了传入指针的预期生命周期。当然有更严格的方式将此信息传达给用户。

一个例子会很棒。

谢谢!

最佳答案

在您的所有类中使用拥有智能指针,它将获得所有权(即一旦完成对象将销毁对象)并且从用户传递的任何指针都将由这个拥有智能指针接管。

一个很好的例子是 std::unique_ptr,一旦事情完成,就会销毁它的对象。

如果您需要自定义销毁,可以将其传递给自定义删除器。

更好的当然是在你的类中同时创建(即通过 make_unique),因为你将拥有 RAII,这将避免所有泄漏。

关于C++ 明确表示库拥有指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12536215/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com