c – 使用自定义删除器Boost scoped_ptrscoped_array

c – 使用自定义删除器Boost scoped_ptrscoped_array,第1张

概述我没有看到如何让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 我没有看到如何让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行的简单代码.创建具有自定义删除器的自己的衍生物(通过模板参数静态或通过运行时提供的函数或函数动态)将非常简单.

总结

以上是内存溢出为你收集整理的c – 使用自定义删除器Boost scoped_ptr / scoped_array全部内容,希望文章能够帮你解决c – 使用自定义删除器Boost scoped_ptr / scoped_array所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1240924.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存