C++ 新的自动关键字指针是否删除自身?
如果我有这条线C++ 新的自动关键字指针是否删除自身?,c++,pointers,auto,C++,Pointers,Auto,如果我有这条线 auto* f = new boost::posix_time::time_input_facet("%d %b %Y %H:%M:%S"); 我必须删除指针吗?还是它自己清理 delete f; // ?? 我知道auto_ptr和shared_ptr会被自动删除,但我不知道auto与auto无关,它只是告诉编译器推断类型 因此,是的,在您提供的示例中,delete是必需的 有点离题:你提到了自动ptr(这是不推荐的)和共享ptr,但也有独特的ptr,非常方便,因为它非常轻
auto* f = new boost::posix_time::time_input_facet("%d %b %Y %H:%M:%S");
我必须删除指针吗?还是它自己清理
delete f; // ??
我知道auto_ptr和shared_ptr会被自动删除,但我不知道auto与auto无关,它只是告诉编译器推断类型 因此,是的,在您提供的示例中,
delete
是必需的
有点离题:你提到了
自动ptr
(这是不推荐的)和共享ptr
,但也有独特的ptr
,非常方便,因为它非常轻巧(几乎没有开销),并且可以在只有一个所有者时使用。自动ptr
与自动ptr
无关,它只是告诉编译器推断一个类型
因此,是的,在您提供的示例中,delete
是必需的
稍微偏离主题:您提到了
auto\u ptr
(这一个已被弃用)和shared\u ptr
,但也有unique\u ptr
非常方便,因为它非常轻量级(实际上没有开销),并且可以在只有一个所有者时使用。auto只为您推断类型,它不做任何其他事情。“如果我有这行”你不应该有这行。使用RAII。如果你必须使用指针,请使用智能指针。自动只为你推断类型,它不做任何其他事情。“如果我有这行”你不应该有这行。使用RAII。如果你必须使用指针,请使用智能指针。