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
一周排行
  • 每一个优秀的人,都有一段沉默的时光.那一段时光,是付出了很多努力,忍受孤独和寂寞,不抱怨不诉苦,日后说起时,连自己都能被感动日子.                                            ...
  • 1 package com.main.cul; 2 import java.util.Scanner; 3 public class Demo { 4 private static double result; 5 ...
  • python3.2中对文件.文件夹的操作需要涉及到os模块和shutil模块.一.文件打开:f = open(name[, mode[, buffering]])入口参数:   name 文件名            ...
  •  在Orchard:如何生成Hello World模块.Orchard:使用VS2010来生成一个地图Content Part.Orchard:生成一个Content Part中介绍了如何生成Orchard的modu ...
  • 五月七号,到一个大学,与计算机专业的同学们分享了一下.net,和vs2010,可能因为大学学的知识有限吧,总体感觉大家对这个讲座都比较认可,师生反应都不错.讲座主要和大家分享了.net可以用来做什么,用.net做项目 ...
  • 昨天到超市里买了个雷柏牌无线鼠标,在超市里的台式机上试了一下能用,但拿回家装到笔记本上,却没了反应:刚开始还以为是电脑问题,就又试了几个笔记本还是没有反应:怕是电池没有电了,又买了新的电池装上,还是没有反应.到网上搜 ...
  •    在论坛里看到说基金公司近期又在大动作的招技术人员,就在想,是什么在推动着他们这样去做.有的人说是互联网金融,也有的人说是基金公司嗅到了商机.实际上,归根到底,可以从我们的身边的一些现像去推断这种做法的本质,从而 ...
  • 无意中的发现,vista和server2008的缩略图显示问题的简单解决办法
    无意中的发现,vista 和server2008 的缩略图显示问题的简单解决办法最近在wi ...
  • DELETE FROM table_name [WHERE conditions]; 例: DELETE FROM userinfo WHERE name='zhangsan'; 说明 1.不添加条件会删除所有记录. ...
  • 华文细黑:STHeiti Light [STXihei] 华文黑体:STHeiti 华文楷体:STKaiti 华文宋体:STSong 华文仿宋:STFangsong 俪黑 Pro:LiHei Pro Medium 俪 ...