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

前端之家收集整理的这篇文章主要介绍了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行的简单代码.创建具有自定义删除器的自己的衍生物(通过模板参数静态或通过运行时提供的函数函数动态)将非常简单.

猜你在找的C&C++相关文章