我正在尝试实现一种高效且无错误的方法,以便将unique_ptr<Base>
向下转换为派生类unique_ptr<Derived>
。阅读一些帖子我发现像this这样的东西可以工作(简单的dynamic_cast)。但是,在this other post中,他们说要正确执行向下转换,必须提取并重新分配删除者。
我想知道什么时候提取删除器很重要,我应该如何实现它,因为在答案中只提供了Del
类型的模板函数,但我不明白在实际实现中使用此类型。
编辑:
更具体地说,我不明白Del
类型究竟是什么以及如何在实际示例中设置它。我知道它与删除器有关,但我不知道如何定义和使用它。由于仅通过阅读this对我不清楚,我想要更多解释。