任何人都可以了解unique_ptr
在析构函数中使用delete
和delete[]
之间的选择方式吗?我假设那里有一些有趣的类型特征技巧,这对于理解是有用的。
答案 0 :(得分:0)
如果您查看documentation,您会看到有一个模板专精,其数组的Deleter
不同
template<
class T,
class Deleter = std::default_delete<T>
> class unique_ptr;
template <
class T,
class Deleter
> class unique_ptr<T[], Deleter>;
他们注意到
std :: unique_ptr有两个版本:
1)管理单个对象(例如,分配有
new
)
2)管理动态分配的对象数组(例如,分配有new[]
)