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
一周排行
  • IOS-上架APP之启动页设置新手必看
    今天自己做的小作品准备提交,就差一个启动页,各种百度,各种搜,结果还好最后终于出来了,和大 ...
  • 虚拟化技术的变革堪比CPU芯片的发展,迄今为止,服务器上的CPU,内存,存储,IO设备等都已经可以虚拟化,通过在服务器上部署虚拟机,可以实现多个虚拟机实例共享同一硬件资源.随着虚拟化的应用普及,用户场景也变得越来越多 ...
  •  Delphi DBGrid使用大全   delphi中TDBGrid的使用4 3procedure TMainForm.DBGrid1DrawColumnCell(Sender: TObj ...
  • 紫色范冰冰WIN7主题包
      应吾爱论坛网友要求打包制作的紫色范冰冰WIN7主题,希望大家支持!~       下载 ...
  • 注意pushup的时候要先判断有没有左右儿子.因为有负数,所以这个可能会出bug. 很烦带标记的数据结构啊...秉承这样一个思路:只要局部的标记下方吗没有问题,整个程序应该都不会怎么出问题. 也就是思路要顺着程序而不 ...
  • 05-SCVMM2012之认识主界面及配置运行账户
    4.配置SCVMM 2012 R24.1.认识SCVMM主界面安装完VMM服务器后,打开V ...
  • 使用前的准备:1.首先下载makeself的软件包,其中包含的文件主要有:makeself.sh makeself-header.sh等下载地址:http://www.megastep.org/makeself/2. ...
  • Web前端性能优化——如何提高页面加载速度
    前言:  在同样的网络环境下,两个同样能满足你的需求的网站,一个“Duang”的一下就加载 ...
  •  转载自:IT商业新闻网从富士康到华为 军事化管理害死人打印] 评论:[12]条郭台铭,任正非,都是行伍出身,都有军人雷厉风行的做事风格,都有“指哪打哪”的企业执行力和攻击力,都擅用“军事化”手段管理企业,都追求利益 ...
  • 服务列表(按字母顺序排列)                        服务名                        必需(是/否)                        用途描述          ...