【发布时间】:2014-02-08 00:20:12
【问题描述】:
std::unique_ptr<T,D> 指定存储的不是您可能期望的T*,而是std::unique_ptr<T,D>::pointer 类型的对象。如果存在这种类型,则基本定义为D::pointer,否则定义为T*。因此,您可以通过适当地自定义删除器来自定义底层原始指针类型。
什么时候做这个是个好主意?这有什么用途?我能找到的唯一讨论是 this note,它暗示“在共享内存上下文中更好地支持 [ing] 容器和智能指针”,但这并不能完全说明问题。
【问题讨论】:
标签: c++ c++11 unique-ptr