如果我有这条线
auto* f = new boost::posix_time::time_input_facet("%d %b %Y %H:%M:%S");
Run Code Online (Sandbox Code Playgroud)
我必须删除指针吗?或者它自己清理?
delete f; // ??
Run Code Online (Sandbox Code Playgroud)
我知道auto_ptr和shared_ptr会自动删除,但我不知道auto
auto与此无关auto_ptr,它只是告诉编译器推导出一种类型.
所以,是的,在您提供的示例中,delete是必需的.
稍微偏离主题:你提到的auto_ptr(这个人是不建议使用)和shared_ptr,但也有unique_ptr其相当方便,因为它是非常轻巧(几乎没有开销),当有一个所有者都可以使用.
| 归档时间: |
|
| 查看次数: |
63 次 |
| 最近记录: |