码迷,mamicode.com
首页 >  
搜索关键字:raii    ( 121个结果
RAII和模拟实现智能指针
什么叫RAII(ResourceAcquisitionIsInitialization)?RAII指的就是资源分配即初始化,它的作用就是定义一个类来封装资源的分配和释放,在构造函数完成资源的分配和初始化,在析构函数完成资源的清理,可以保证资源的正确初始化和释放。它是一种技术。为什么要使用RAII?在堆上分..
分类:其他好文   时间:2016-04-06 18:54:12    阅读次数:196
RAII&智能指针
智能指针是C++中为了实现资源的有效管理而被提出的,我们可以创建它但无须操心它的释放问题,在引入异常机制的程序里它是十分有用的,或者说,对于博主这中粗心大意的人来说还是可以偶尔使用的。他可以在一些场合防止内存泄漏的问题。但是,智能指针也是存在着许多的问题,所以..
分类:其他好文   时间:2016-04-04 21:09:46    阅读次数:249
智能指针和异常
今天让我们来分析一下C++中的智能指针和异常,首先呢先普及一下概念!(1)智能指针:智能或者自动化的管理指针所会向的动态资源的释放。(2)异常:当一个函数发现自己无法处理的错误时,让函数的调用者直接或间接的处理这个问题。(3)RAII:资源分配即初始化。构造函数完成..
分类:其他好文   时间:2016-04-04 21:07:08    阅读次数:210
boost的内存管理
smart_ptr raii ( Resource Acquisition Is Initialization ) 智能指针系列的都统称为smart_ptr,包括c++98标准的auto_ptr 智能指针是一个类,通过重载->和*完成类似原始指针的操作。不过因为是类,所以可以做比如内存管理、线程安全之类的工作 智能指针均是自动管理内存,不需要显示调用delete scoped_ptr...
分类:其他好文   时间:2016-03-26 07:59:56    阅读次数:210
【C++】 浅析智能指针
引言:由于C++语言没有自动内存回收机制,程序员每次new出来的内存都要手动delete。程序员忘记delete,流程太复杂,最终导致没有delete,异常导致程序过早退出,没有执行delete的情况并不罕见。RAII(ResourceAcquisitionIsInitialization)资源分配即初始化,定义一个类来封装资..
分类:编程语言   时间:2016-03-22 00:54:14    阅读次数:350
【C++】智能指针的作用,模拟实现auto_ptr,scoped_ptr,shared_ptr
RAII(ResourceAcquisitionIsInitialization):资源分配即初始化,定义封装一个类,用来实现调用构造函数时就可完成资源的分配和初始化,在调用析构函数就可完成资源的清理,以实现对资源的初始化和清理。智能指针:用自动化或者说智能的指针来实现对动态内存的释放。它是一个类..
分类:编程语言   时间:2016-03-21 02:07:36    阅读次数:509
Effective C++第三遍
试图调用private的copy或赋值函数是编译期错误,而调用没有具体定义的函数则是连接期错误。 以对象管理资源;智能指针RAII(资源获取立即初始化)后都是对象,但有时候,比如(API的)函数参数要求的是原始资源的指针,这时候有两种方法: 1、显式转换:智能指针提供了get成员函数可以直接获取原始
分类:编程语言   时间:2016-03-15 18:58:56    阅读次数:198
boost-同步-锁的类型
类模板unique_lock boost::unique_lock较boost::lock_guard复杂,它不但提供RAII风格锁定,还提供多种锁定选项。 boost::unique_lock的模型由传入参数实现的模型来决定。 如: boost::unique_lock<boost::timed_
分类:其他好文   时间:2016-03-07 12:06:20    阅读次数:188
boost-同步-锁的守护
lock_guard模板 boost::lock_guard 构造时提供实现Lockable概念的对象作为参数,获得所有权 析构时释放所有权 提供RAII风格的锁定,实现锁和解锁的异常安全 lock_guard(Mutex& m_, adopt_lock_t)允许lock_guard获得线程已经持有
分类:其他好文   时间:2016-03-07 12:00:01    阅读次数:198
C++11 auto_ptr 的问题
auto_ptr作为最早的智能指针,可以实现以RAII手法管理堆区对象,但它设计的本意只是简单的利用C++对于栈区对象的自动析构管理堆区对象, 并不像shared_ptr那样包含引用计数,可以在每次拷贝的时候多出一个“分身”。这时候,拷贝的语义就成了很大的问题(按理说直接禁掉可能好好些), 于是就出
分类:编程语言   时间:2016-02-28 15:12:29    阅读次数:169
121条   上一页 1 ... 5 6 7 8 9 ... 13 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!