将基类的unique_ptr向下转换为派生类的正确方法

时间:2015-03-16 13:43:11

标签: c++ abstract-class unique-ptr derived-class downcast

我正在尝试实现一种高效且无错误的方法,以便将unique_ptr<Base>向下转换为派生类unique_ptr<Derived>。阅读一些帖子我发现像this这样的东西可以工作(简单的dynamic_cast)。但是,在this other post中,他们说要正确执行向下转换,必须提取并重新分配删除者。

我想知道什么时候提取删除器很重要,我应该如何实现它,因为在答案中只提供了Del类型的模板函数,但我不明白在实际实现中使用此类型。

编辑:

更具体地说,我不明白Del类型究竟是什么以及如何在实际示例中设置它。我知道它与删除器有关,但我不知道如何定义和使用它。由于仅通过阅读this对我不清楚,我想要更多解释。

0 个答案:

没有答案