用自定义删除器增强scoped_ptr / scoped_array
||
我看不到如何获取scoped_ptr或scoped_array来使用自定义删除器。也许还有另一种实现,它允许类似于shared_ptr的受控删除?
顺便说一句,为什么shared_ptr允许自定义删除器,而scoped_ptr不允许?只是好奇。
没有找到相关结果
已邀请:
4 个回复
森含械
或
来使用自定义删除器 你不能。 也许还有另一种实现允许类似于“ 2”的受控删除? 如果您的编译器支持右值引用,并且您的标准库实现实现了
,则可以使用它。 否则,“ 4”实现非常简单。最新版本的简单代码少于100行。创建具有自定义删除器的派生类(通过运行时提供的模板参数是静态的,或通过运行时提供的函数或函子的动态),将非常简单。
括宠
不允许使用自定义删除器。我猜想的主要原因是,如果它像
那样保持
的大小,将不等于
。 我认为最方便的选择是使用ѭ2或编写支持删除器的自己的
。
盛梯獭八搽
重载后,scoped_ptr将调用checked_delete而不是delete。
辩谷变充