auto_ptr

RAII和模拟实现智能指针 2016-04-06

什么叫RAII(Resource Acquisition Is Initialization)?RAII指的就是资源分配即初始化,它的作用就是定义一个类来封装资源的分配和释放,在构造函数完成资源的分配和初始化,在析构函数完成资源的清理,可以保证资源的正确初始化和释放.它是一种技术.为什么要使用RAII?在堆上分配空间时,我们必须很仔细的申请并给出相应的释放语句,但是随着程序的复杂度增大,判断.循环.递归这样的语句会让程序走向不确定,很有可能出现申请了没释放,申请了多次释放.所以我们定义了一个类来

实现auto_ptr的两种方法 2016-04-05

我们都知道,实现auto_ptr有两种方法:第一种方法:在上一篇博客中我已经实现了,主要思想是管理权转移.第二种方法:它是我们c++标准库中以前的一个版本,主要思想是在auto_ptr类中除了有一个指针的成员变量以外还有一个bool类型的成员变量_owner.构造函数中将_owner设为真,表示对象是指针所指向的内存的拥有者,当要赋值时(ap1=ap2),将ap1的_owner置为true,ap2的_owner置为false.这样我们析构对象时只要检查它的_owner是否为true.为真就释放内

主流RAIIclass的存在价值——不存在能够完全替代DumbPointer的RAIIclass 2012-02-05

前言前几天在很多地方老是碰到RAII(Resouce Acqusition Is Initialition)相关的话题,对于这一块,由于自己以前在代码中很少用到,从来都习惯于使用dumb pointer,所以从没仔细去研究过.当它足够频繁的出现在我的眼前时,我渐渐意识到,是时候该做个了断了(说“了断”貌似有些夸张,其实也只是想把它研究透,以免以后老出现在我的眼前而不知其内部原理..).事实上,我当早该写这篇博文了,只是当我在看标准库的auto_ptr源码时,又发现里面的exception han
一周排行
  • 急招java开发人员(年工作经验),有认识朋友的和自己愿意来的,赶紧联系我.  Email :  [email protected]
  •    禁止XP用户修改IP地址           在公司的局域网中首先,在网上资料上最常见的禁止XP用户修改IP地址的办法有四种,在这里我分别讲一下自己的理解.方法一:修改注册表法 注册表在Windows操作系统中 ...
  • Hyper-V3中虚拟机CPU竞争机制
    Hyper-V 3中虚拟机CPU竞争机制Windows Server 2012姗姗来迟,最 ...
  • 在本文中,将介绍使用jQuery Mobile开发的一些常用的技巧,阅读对象为已经使用过jQuery Mobile进行开发的移动Web开发者. 1.禁止截断过长的列表和按钮内容 在jQuery mobile中,如果列 ...
  • << Back to linux.chinaitlab.com 红帽企业 Linux 4: 安全指南后退 前进第 5章 . 服务器安全当系统被用作公共网络的服务器时,它就会成为攻击对象.正因此,对于系统管 ...
  • 魔教帅哥一出马,路上MM全叫哇:不会神功难近他,赶紧回家搬来妈!白发魔女虽然怕,<三字魔经>随便打:看你还有啥办法?勾上玉指拉回家.
  • 1.Windows api中PostMessage和SendMessage函数的区别是什么?答:PostMessage和SendMessage函数的区别主要在于是否等待其它程序消息处理.PostMessage只是把消 ...
  • NAT地址转换和端口复用PAT
    什么是端口复用动态地址转换(PAT) 介绍配置实例 端口多路复用(Port address ...
  •    /home/zongquanliu/hadoop/hadoop-0.22.0/bin/hadoop jar /home/zongquanliu/hadoop/hadoop-0.22.0/contrib/stre ...
  • Linux入门之pxe网络自动安装系统----高级的自动化
    别话不表,先上一副自己画的图,稍后加上详细讲解,包括各种配置信息.