码迷,mamicode.com
首页 > 其他好文 > 详细

auto_ptr类

时间:2017-09-29 01:49:55      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:类型转换   logs   文件包含   返回   实例   释放   释放内存   不能   析构函数   

auto_ptr类

  auto_ptr类,主要用于管理动态内存分配。当auto_ptr对象过期时,析构函数将使用delete来释放内存。将new返回的地址赋值给auto_ptr对象时,无须记住还需要释放这些内存。在auto_ptr对象过期时,内存将自动被释放。

  使用auto_ptr对象时,必须包含头文件<memory>。该文件包含auto_ptr模板。使用通常的模板句法来实例化所需类型的指针。auto_ptr构造函数是显式的,不存在从指针到auto_ptr对象的隐式类型转换。

1 auto_ptr <double>pd;
2 double *p_reg = new double;
3 pd = p_reg;                                //不允许
4 pd = auto_ptr<double>(p_reg);   //允许
5 auto_ptr<double> pauto = p_reg;//不允许
6 auto_ptr<double>pauto(p_reg);//允许     

  注意:在使用auto_ptr时,只能配对使用new和delete。只能对new分配的内存使用auto_ptr对象,不能对由new[]分配的或通过声明变量分配的内存使用它。

auto_ptr类

标签:类型转换   logs   文件包含   返回   实例   释放   释放内存   不能   析构函数   

原文地址:http://www.cnblogs.com/CZT-TS/p/7609068.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!