weak_ptr

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

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

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

前言前几天在很多地方老是碰到RAII(Resouce Acqusition Is Initialition)相关的话题,对于这一块,由于自己以前在代码中很少用到,从来都习惯于使用dumb pointer,所以从没仔细去研究过.当它足够频繁的出现在我的眼前时,我渐渐意识到,是时候该做个了断了(说“了断”貌似有些夸张,其实也只是想把它研究透,以免以后老出现在我的眼前而不知其内部原理..).事实上,我当早该写这篇博文了,只是当我在看标准库的auto_ptr源码时,又发现里面的exception han
一周排行
  • Ansible通过模块的方式来完成一些远程的管理工作.可以通过ansible-doc -l查看所有模块,可以使用ansible-doc -s module来查看某个模块的参数,也可以使用ansible-doc hel ...
  • 以下内容摘自正在全面热销的最新网络设备图书"豪华四件套"之一--<H3C交换机配置与管理完全手册>(第二版)(其余三本分别是:<Cisco交换机配置与管理完全手册>(第二版 ...
  • 文/延展咨询专家顾问 唐志明    进入21世纪,随着世界经济的发展,中国以其强大的爆发力引来了世界关注的目光,中国俨然已成为新的世界经济中心.面对如此机遇,中国企业要想保住增长势头,吸引资本青睐,提升企业管理水平无 ...
  • 在启动集群的时候,namenode无法启动,用tail命令查看log,可以看到出现如下错误:[[email protected]]$ tail -100f /usr/local/hadoop/libexec/. ...
  • 当浏览者浏览网站时可以通过按TAB键在网页的链接中依次移动,这是一个相当方便实用的功能.但如果网页中链接太多,恐怕按TAB键就没什么作用了,这时不妨通过改变TAB键移动的顺序来突出重点,在某些重要页面上方便访问者.使 ...
  • 关于memcached的安装与使用
    memcached完全剖析–1. memcached的基础版权声明:可以任意转载,但转载时 ...
  • 发现官方这个教程实在是太好了,现在有了个中文版,简直就是学习JUNOS的福音~~~研究了一个下午,终于把它全部拷贝到本地上并测试成功运行,以后无需再受网络速度的影响,大可放在U盘里,随时运行,随时学习~呵呵 下载地址 ...
  • 当你给上传按钮的父级或当前元素添加一个display:none时 你可能遇到了这样的一个问题.当你在点击显示这个按钮时 你发现按钮失效了 你需要点击F12才可以.  flash 版本太低,请至少大于等于 11.4,低 ...
  • 日,微软在下载页面中放出了一款新的软件--Microsoft Download Manager.作为一款下载管理软件,软件提供的功能与你熟知的传统老牌下载管理软件相近.微软的下载管理器目前仅支持HTTP协议,但支持断 ...
  • <?phpheader("Content-Type:text/html;charset=utf-8");if (isset($_GET['number'])) {$url = 'http:/ ...