scoped_ptr

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

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

C++智能指针的作用,模拟实现auto_ptr,scoped_ptr,shared_ptr,scoped_array,shared_array 2016-03-20

RAII(Resource Acquisition Is Initialization):资源分配即初始化,定义封装一个类,用来实现调用构造函数时就可完成资源的分配和初始化,在调用析构函数就可完成资源的清理,以实现对资源的初始化和清理.智能指针:用自动化或者说智能的指针来实现对动态内存的释放.它是一个类,有类似指针的功能.常见的智能指针有:auto_ptr/scoped_ptr/scoped_array/shared_ptr/shared_array一.AutoPtr首先,先介绍AutoPtr,
一周排行
  • Java泛型详解
        泛型(Generic)可以解决数据类型的安全性问题,主要原理是在类申明的时候通过一 ...
  • 5辆汽车过山洞,依次经过山洞.每辆车通过山洞花费10秒,使用多线程实现.class Cave { //private boolean deng=true; //public synchronized getDeng( ...
  • 在java中实现二叉树和链表的方法都是在类中定义该类的对象引用 比如 class Tree { int data; Tree left; Tree right; } 这样的话当我们new一个Tree对象的时候,该对象 ...
  • jquery仿搜狐投票动画代码
    体验效果:http://hovertree.com/texiao/jquery/21/这是 ...
  • 六个经典的英语面试问题"work experience" is the type of work you've done in the past. If you haven't started w ...
  • 数据库范式的设计
    数据库范式的设计    关系数据库就是通过二维表(行和列)来保存数据.实体:现实世界中客观 ...
  • 1.nfs服务的安装在rehl5 中如果要启用nfs 服务器必须至少需要下面两个套件a.portmap 该套件借助rpc服务的帮助负责端口映射工作以保证nfs服务的正常运行b.nfs-utils 该套件为nfs服务的 ...
  • 一.Maven的基本概念Maven(翻译为"专家","内行")是跨平台的项目管理工具.主要服务于基于Java平台的项目构建,依赖管理和项目信息管理.1.1.项目构建 项目构建过 ...
  • 以下SQL脚本可以用于列出数据库最近1分钟的性能度量信息(performance metric): set linesize 80 pagesize 1400 SELECT /*+ ORDERED USE_MERGE ...
  • log4net日志在app.config中assembly不起作用,必须 1.手动调用方法log4net.Config.XmlConfigurator.Configure()来初始化 2.或者在配置文件中添加配置 & ...