#include <memory>

本文介绍了C++中的两种智能指针,包括auto_ptr和unique_ptr。auto_ptr可以自动管理动态分配的对象并确保正确释放内存,而unique_ptr则提供了对象的独占所有权,不允许复制,只允许移动。unique_ptr在超出作用域或重新赋值时会摧毁所指向的对象。
摘要由CSDN通过智能技术生成

 

1 auto_ptr

2 unique_ptr

 

1 auto_ptr

 

C++的auto_ptr所做的事情,就是动态分配对象以及当对象不再需要时自动执行清理。

使用std::auto_ptr,要#include <memory>。

 

double *p = new double;//为指针分配内存

 

std::auto_ptr<double> autop(p);

//继承性指针,必须依赖上面的指针p

//创建智能指针管理指针p指向的内存,可以自动释放内存,不用delete就可以自动删除

//搭配原生指针p使用,不用担心多delete或者少delete

//auto_ptr更多用于管理类和对象的内存

 

 1 #include <iostream>
 2 #include <memory>
 3 
 4 void main()
 5 {
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值