【发布时间】:2011-07-26 11:51:14
【问题描述】:
std::unique_ptr 模板有两个参数:指针类型和删除器类型。第二个参数有一个默认值,所以你通常只写std::unique_ptr<int>之类的东西。
std::shared_ptr 模板只有一个参数:指针的类型。但是您也可以使用自定义删除器,即使删除器类型不在类模板中。通常的实现使用类型擦除技术来做到这一点。
std::unique_ptr 没有使用相同的想法是否有原因?
【问题讨论】:
标签: c++ smart-pointers type-erasure