c++ - 新的 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

最佳答案

autoauto_ptr 无关,它只是告诉编译器推导一个类型。

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

稍微跑题了:你提到了auto_ptr(这个已经过时了)和shared_ptr,但是还有unique_ptr,这很方便因为它非常轻量级(几乎没有开销),并且可以在只有一个所有者的情况下使用。

关于c++ - 新的 auto 关键字指针会自行删除吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51171746/

相关文章:

c++ - 在 C++ 中使用全局 update() 函数的观察者模式(或类似的东西)?

c - 初始化结构时发生访问冲突

c++ - 我应该使用 mount() 还是/usr/bin/mount

c++ - 使用 ifstream 读取列中随机生成数字的文本文件并从列表中找到最小值和最大值?

c++ - 在 C++ 中将 float 数组的参数填充为 float*

c 读取字符串输入错误

c++ - 有没有一种方法可以使用基于范围的迭代器来迭代对指针列表值的引用?

c++ - 为什么尚未定义具有推导返回类型的内联方法?

c++ - std::bind 如何多次调用复制构造函数

c++ - 为什么在C++中调用库(建库成功)会出现链接错误