新的 auto 关键字指针会自行删除吗?

the new auto keyword pointer does delete itself?

如果我有这条线

auto* f = new boost::posix_time::time_input_facet("%d %b %Y %H:%M:%S");

我必须删除指针吗?或者它会自行清理?

delete f; // ??

我知道 auto_ptr 和 shared_ptr 会自动删除,但我不知道 auto

autoauto_ptr没有任何关系,它只是告诉编译器推导出一个类型。

所以是的,在您提供的示例中,需要 delete

稍微跑题了:你提到了auto_ptr(这个已经弃用)和shared_ptr,但是还有unique_ptr,它非常方便,因为它非常轻巧(实际上没有开销),并且可以在只有一个所有者时使用。