如果我有这条线
auto* f = new boost::posix_time::time_input_facet("%d %b %Y %H:%M:%S");
我必须删除指针吗?还是它会自行清理?
delete f; // ??
我知道auto_ptr和shared_ptr会被自动删除,但我不知道auto
最佳答案
auto
与 auto_ptr
无关,它只是告诉编译器推导一个类型。
是的,在您提供的示例中,需要delete
。
稍微跑题了:你提到了auto_ptr
(这个已经过时了)和shared_ptr
,但是还有unique_ptr
,这很方便因为它非常轻量级(几乎没有开销),并且可以在只有一个所有者的情况下使用。
关于c++ - 新的 auto 关键字指针会自行删除吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51171746/