auto_ptr指针的释放函数是什么?
时间: 2024-03-02 16:52:09 浏览: 81
C++ unique_ptr weak_ptr shared_ptr auto_ptr智能指针.doc
5星 · 资源好评率100%
`auto_ptr` 是 C++98 标准中的一个智能指针,它会在指针所指对象不再需要时自动释放内存。在 C++11 标准中,`auto_ptr` 已被弃用,建议使用 `unique_ptr` 或 `shared_ptr` 替代。
`auto_ptr` 释放内存的方式是在其析构函数中调用 `delete` 操作符。因此,当 `auto_ptr` 对象被销毁时,其指向的对象也会被自动释放。
以下是一个示例代码,展示了 `auto_ptr` 的使用方式:
```
#include <memory>
#include <iostream>
int main() {
// 创建一个 auto_ptr 对象,指向一个动态分配的整型变量
std::auto_ptr<int> ptr(new int(42));
// 输出指针所指向的值
std::cout << *ptr << std::endl;
// 修改指针所指向的值
*ptr = 100;
// 输出修改后的值
std::cout << *ptr << std::endl;
// auto_ptr 对象被销毁,指向的对象也会被自动释放
return 0;
}
```
在上面的示例代码中,`auto_ptr` 对象 `ptr` 被销毁时,其指向的整型变量也会被自动释放。
阅读全文