微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c – 使用自定义删除器Boost scoped_ptr / scoped_array

我没有看到如何让scoped_ptr或scoped_array使用自定义删除器.也许有另一种实现允许类似于shared_ptr的受控删除

顺便说一句,为什么shared_ptr允许自定义删除但scoped_ptr不允许?只是好奇.

解决方法

I don’t see how to get scoped_ptr or scoped_array to use custom deleter

你不能.

Maybe there is another implementation which allows controlled deletion similar to shared_ptr?

如果您的编译器支持右值引用,并且您的标准库实现实现了std :: unique_ptr,那么您可以使用它.

否则,boost :: scoped_ptr实现非常简单. The latest version小于100行的简单代码.创建具有自定义删除器的自己的衍生物(通过模板参数静态或通过运行时提供的函数函数动态)将非常简单.

原文地址:https://www.jb51.cc/c/119058.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐