Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/135.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 新的自动关键字指针是否删除自身?_C++_Pointers_Auto - Fatal编程技术网

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。如果你必须使用指针,请使用智能指针。