我要改default_deleter
对于 std::unique_ptr
.这很容易实现,但有一点不方便——我必须使用 2 个模板参数而不是一个模板参数来声明变量,如下所示:
std::unique_ptr<MyType, MyDeleter<MyType>> myVar;
您可能会看到声明很长,我觉得我可以使用较短的版本,但我不知道如何:)
是否可以声明某种类型的 MyUniquePtr<T>
这将与 std::unique_ptr<T, MyDeleter<T>>
相同?
编辑:Matthieu M. 已经回答,但遗憾的是我无法在 Visual Studio 中使用此功能,因为它尚未实现。还有其他方法可以实现这种行为吗?
最佳答案
实际上是,使用模板别名:
template <typename T>
using MyUniquePtr = std::unique_ptr<T, MyDeleter<T>>;
关于c++ - 更改 std::unique_ptr 的删除器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17090001/