E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
raii
c++ 线程同步机制
互斥量在使用互斥量的时候,最好使用
RAII
进行封装,使用非递归的互斥量,尽量在一个函数内进行lock、unlock。
forever917
·
2020-07-04 15:09
c++
线程同步
muduo C++ 网络库——线程同步精要(1):互斥锁
互斥器:使用得最多的同步原语互斥锁的详细介绍在这一篇博文中:互斥锁概念补充:
RAII
——资源的有效期与持有资源的对象的生命期严格绑定,即由对象的构造函数完成资源的分配(获取),同时由析构函数完成资源的释放
amoscykl
·
2020-07-04 10:38
moduo网络库
muduo源码分析
初探《Linux多线程服务端编程 使用muduo C++网络库》
3.MutexLock封装临界区,用
RAII
手法封装互斥器的创建和销毁。临界区在linux下是pthrea
mashuiping
·
2020-07-02 11:58
网络编程
c++中的智能指针详解(
RAII
, auto_ptr的原理及其改进,unique_ptr的原理,shared_ptr的原理,shared_ptr的缺陷及其改进)
为什么需要智能指针代码中途退出,也能保证资源的合理释放,在c++中没有垃圾回收机制的情况下,智能指针就可以保证我们申请的资源,最后忘记释放的问题,防止内存泄露,也帮我们减少了一定的负担,不用再在所有可能退出的地方都进行是否释放的检测。RAIIRAII(ResourceAcquisitionIsInitialization)是一种利用对象生命周期来控制程序资源(如内存、文件句柄、网络连接、互斥量等等
阳光丿洒脱
·
2020-07-02 09:45
c++中的重点问题
c++学习之路
浅谈智能指针shared_ptr
RAII
:资源分配即初始化,通俗点来讲,就是定义一个类来封装资源的分配和释放,再构造函数完成资源的分配和初始化,在析构函数完成资源的清理,可以保证资源的正确初始化和释放。
谷大宝
·
2020-07-02 01:19
C++/C
C++智能指针auto_ptr详解
auto_ptrauto_ptr是C++标准库中()为了解决资源泄漏的问题提供的一个智能指针类模板(注意:这只是一种简单的智能指针)auto_ptr的实现原理其实就是
RAII
,在构造的时候获取资源,在析构的时候释放资源
JeanCheng
·
2020-07-02 00:48
┈┈【C
/
C++发现】
1.3. C++并发(转移线程所有权,简单控制线程数量)
案列1:转移线程所有权并且使用类进行线程管理(
RAII
)该实例类比前面1.2中提到的thread_guard类不同之处在于管理类不是引用thread实例而是将thread实例所有权转移到了类中。
小屁猪qAq
·
2020-07-01 20:15
c++学习
多线程thread
C++之智能指针
文章目录一、内存泄漏(复习)1.内存泄漏的定义2.内存泄漏的危害3.内存泄漏的分类二、
RAII
1.
RAII
基本介绍2.SmartPtr的方法解决上述代码问题三、智能指针的版本及发展历史1.C++98--
Sheena爽
·
2020-07-01 13:45
C++
raii
C++中的
RAII
机制
什么是
RAII
?
RAII
是ResourceAcquisitionIsInitialization(wiki上面翻译成“资源获取就是初始化”)的简称,是C++语言的一种管理资源、避免泄漏的惯用法。
zhaozhengcoder
·
2020-07-01 12:39
STL的内存分配器
关于内存管理的话题,大致有两类侧重点,一类是内存的正确使用,例如C++中new和delete应该成对出现,用
RAII
技巧管理内存资源,auto_ptr等方面,很多C/C++书籍中都使用技巧的介绍。
cl_mark1
·
2020-07-01 02:36
学习C++STL心得
[C指针]内存分配(malloc、calloc、realloc、alloca)、迷途指针、内存释放free、垃圾回收(
RAII
、异常处理函数)
http://www.ituring.com.cn/book/1147第2章C的动态内存管理本文内容内存分配:malloc、calloc、realloc、alloca迷途指针内存释放free垃圾回收技术:
RAII
AkuRinbu
·
2020-06-30 20:02
C++智能指针——探究六个常见的智能指针的使用及原理
2.智能指针满足的条件:1.具有
RAII
思想2.能够像指针一样(运算符重载,解引用,指向对象成员)3.对资源进行封装和管理
RAII
思想(资源分配及初始化)1.定义一个类来封装资源的分配与释放,2.构造函数中完成资源的分配及初始化
有梦想的-蜗牛
·
2020-06-30 16:04
c++
C++智能指针auto_ptr的原理及使用
std::auto_ptrauto_ptr是C++标准库中()为了解决资源泄漏的问题提供的一个智能指针类模板(注意:这只是一种简单的智能指针)auto_ptr的实现原理其实就是
RAII
(ResourceApplicationImmediatelyInitialize
yishizuofei
·
2020-06-30 08:25
C++
【学习总结】boost智能指针
一、为什么使用智能指针为管理内存等资源,C++采取
RAII
机制(资源获取即初始化,ResourceAcquisitionIsInitialization),在使用资源的类的构造函数中申请资源并使用,最终在析构函数中释放资源
wukstaka
·
2020-06-29 21:58
个人学习
标准库:指针
5.1
RAII
与引用计数智能指针包括std::shared_ptr/std::unique_ptr/std::weak_ptr,使用它们需要包含头文件5.2std::shared_ptrstd::shared_ptr
骑鲸公子_
·
2020-06-29 12:24
C++智能指针
但是我们在平时写代码的时候,难免会忘记释放空间,或者当程序抛出异常的时候,释放空间的代码被跳过,执行到,这都是造成内存泄漏的原因.为了解决这一情况,C++中引入了智能指针,来对动态开辟的内存进行管理.
RAII
马竞名宿托雷斯
·
2020-06-29 05:11
C++
如何通过wrap malloc定位C/C++程序的内存泄漏
Java等编程语言会自动管理内存回收,而C/C++需要显式的释放,有很多手段可以避免内存泄漏,比如
RAII
,比如智能指针(大多基于引用计数计数)
weixin_37097700
·
2020-06-28 19:39
智能指针:从std::auto_ptr到std::unique_ptr
当需要处理异常时,这尤其重要,
RAII
技术保证异常发生后,在栈上保存的对象依次销毁释放,直至异常被捕获。当动态申请对象数组时,std::auto_ptr就不在适用了。这是因为std::aut
weixin_30721899
·
2020-06-27 23:01
C++程序员如何用D编程
另见:C程序员如何用D编程定义构造函数基类初始化比较结构创造新的typedef型别友元运算符重载名字空间using声明
RAII
(资源获得即初始化)属性递归
uframer
·
2020-06-27 10:58
D
Language
c++
class
struct
raii
module
编译器
C++11教程1 智能指针——unique_ptr
智能指针完全符合
RAII
的设计理念,因此我们并不需要像过去一样显示的去释放指针所指向的资源,智能指针会自动为我们管理资源并适时的释放资源,并且是异常安全的。所以在现代C+
slunlun
·
2020-06-27 06:20
C++
11
C++异常和以
RAII
方式封装锁
在多线程编程中,我们应该使用“获得资源时即初始化”
RAII
(resourceacquisitionisinitialization)。简单说来就是在构造函数中统一分配资源,在析构函数中统一回收资源。
Lailikes
·
2020-06-26 13:56
C++
C++ 智能指针(shared_ptr/weak_ptr)源码分析
shared_ptr实现了C++中的
RAII
机制,它不仅仅具有一般指针(build-in/raw)的特性,更重要的是它可以自动管理用户在堆上创建的对象的生命周期,让用户不用为内存回收操心,避免内存泄漏。
ithiker
·
2020-06-23 19:04
C++
Boost
c++11-智能指针和引用计数
一、本节内容本节内容包括:对标准库的扩充:智能指针和引用计数
RAII
与引用计数std::shared_ptrstd::unique_ptrstd::weak_ptr二、
RAII
与引用计数了解Objective-C
龙卷风2016
·
2020-06-23 17:25
c/c++
C++ 智能指针(shared_ptr/weak_ptr)源码分析
shared_ptr实现了C++中的
RAII
机制,它不仅仅具有一般指针(build-in/raw)的特性,更重要的是它可以自动管理用户在堆上创建的对象的生命周期,让用户不用为内存回收操心,避免内存泄漏。
ithiker
·
2020-06-23 10:54
C++
Boost
C++11智能指针之shared_ptr、weak_ptr
1.shared_ptr、weak_ptr概念shared_ptr与weak_ptr智能指针均是C++
RAII
的一种应用,可用于动态资源管理shared_ptr基于“引用计数”模型实现,多个shared_ptr
_高山流水_
·
2020-06-23 09:47
C++
C++11之智能指针(上)
为了管理资源,C++采用
RAII
手法(资源获取即初始化,ResourceAcquisitionIsInitialization),利用局部对象管理资源,在使用资
figo829
·
2020-06-23 08:19
C++
c++11
智能指针
异常
安全
C++:
RAII
思想和智能指针(auto_ptr,unique_ptr,shared_ptr)
有的时候使用malloc或者new创建的对象忘记释放就会导致内存泄漏,又或者此时释放语句之前有一段代码是抛异常的话,那么执行流就会乱跳,导致内存也无法释放。比如这一段代码,at越界访问会导致抛异常,导致执行流跳出从而没有释放指针p。voidFunc(){int*p=newint;vectorv;v.at(0)=10;//会抛异常deletep;//导致p没有释放}因此引入了智能指针来防止这种问题导
ETalien_
·
2020-06-21 19:08
C++
C++
基础知识stl总结1,stl总结2QG-whz大佬C++中
RAII
技巧(转载),C++中
RAII
技巧C++协变C语言编译过程C语言编译过程详解GDB参数1CDB参数220918097-7fd665e728ad58bc.png
9fe5164d41b8
·
2020-06-09 11:12
定位new表达式与显式调用析构函数
C++的核心理念之一是
RAII
,ResourceAcquisitionIsInitialization,资源获取即初始化。
jerry_fuyi
·
2020-04-20 23:00
enote笔记法使用范例(2)——指针(1)智能指针
---------由于的发布内容不能支持文字大小、颜色、格式的选择,所以我只能发布上面的截屏jpg的版本,下面是纯文字版本:要知道什么是智能指针,首先了解什么称为“资源分配即初始化”whatRAII:
RAII
—Resourc
EverSteins
·
2020-04-08 07:36
热销丨贝克汉姆纪念球衣手机壳补货到啦!
更多优惠产品请戳:¥UoBJ1RYBPMA¥1小贝纪念球衣手机壳价格:29.9元复制下方淘口令购买~▽▽▽$g5191Q3lwLB$2OT110周年纪念手机壳价格:29.9元复制下方淘口令购买~▽▽▽
Raii
1Q3OsDL3B
曼联球迷网
·
2020-04-06 00:00
Geekband C++ Week3 Notes
面向对象编程对象之间的关系继承组合委托组合关系表达了has-a的关系组合关系下的构造和析构构造由内向外析构由外向内委托关系由引用构造的组合关系延迟实现类的构造pimpl手法实现引用计数进一步实现COW隐藏实现本质上是对
RAII
current
·
2020-03-31 21:42
Linux(muduo网络库):14---C++多线程编程精要之(多线程与IO、用
RAII
包装文件描述符)
本文内容衔接于前一篇文章(线程的创建与销毁的守则):https://blog.csdn.net/qq_41453285/article/details/105047683一、多线程与IO本专栏只讨论同步IO,包括阻塞与非阻塞,不讨论异步IO(AIO)在进行多线程网络编程的时候,几个自然的问题是:如何处理IO?能否多个线程同时读写同一个socket文件描述符?(一般指TCPsocket)我们知道用多
江南、董少
·
2020-03-24 22:29
Linux(muduo网络库)
[C++] Vector Changing Size allocator 、
RAII
、 unique_ptr
VectorChangingsizeVectorChangingsizeordinaryreserve()voidvector::reserve(intnewalloc){if(newallocclassallocator{public://...T*allocate(intn);//allocatespacefornobjectsoftypeTvoiddeallocate(T*p,intn);/
AkuRinbu
·
2020-03-24 14:53
C++11(1)-智能指针
智能指针使用
RAII
技术,
RAII
即“ResourceAcquisitionisInitialization”,即在构造函数中申请分配资源,在析构函数中释放资源,将资源和对象的生命周
WalkeR_ZG
·
2020-03-23 14:58
C++ 编程规范
使用显式的
RAII
和智能指针编程宁要编译时和连接时的错误,也不要运行时错误积极使用const避
赵者也
·
2020-03-04 07:24
1.Start a thread
学会使用类似于lock_guard的
RAII
(资源获取即初始化)的方式来对线程进行管理,使用局部变量控制线程的join。如果要在创建线程时候
HikeForWELL
·
2020-02-19 09:49
Essential Scala: Loan Pattern
资源自动回收是计算机工程实践中一项重要的实现模式,例如:C++:
RAII
技术Java7以后:try-with-resources技术本文通过using的抽象控制,透视Scala在这个领域的设计技术。
刘光聪
·
2020-02-16 04:42
C/C++ 在内存使用上的方式方法
RAII
原则,也就是“资源获取就是初始化”,是C++的一种管理资源、避免泄漏的惯用法。其实本文介
乔红喵喵
·
2020-02-02 15:48
Handle类与智能指针
同时能够达到运行时绑定对象的方法今天在前面看到了智能指针的定义及用途,后面又看到了handle类,很好奇,这二者有什么区别,于是各种google,大致得出下面的结论(仅供参考)智能指针主要目的在于使用
RAII
eesly_yuan
·
2020-01-06 02:59
C++
RAII
与 ScopeGuard
C++
RAII
与ScopeGuardRAII机制
RAII
(ResourceAcquisitionIsInitialization),也就是“资源获取就是初始化”,是C++语言的一种管理资源、避免泄漏的惯用法
如果的事
·
2019-12-05 16:00
智能指针
使用原生态指针时我们需要时刻注意空间的申请和释放,尤其在处理异常时,我们必须在抛出异常前把程序中动态开辟的内存空间释放掉,有时会使代码显得臃肿,所以我们引入智能指针的概念,就是
RAII
,是一种用对象的生命周期控制程序资源的方式在对象构造期间
be_better_
·
2019-12-04 15:29
c++
c++
RAII
前言在写C++设计模式——单例模式的时候,在写到实例销毁时,设计的GC类是很巧妙的,而这一巧妙的设计就是根据当对象的生命周期结束时会自动调用其析构函数的,而这一巧妙的设计也是有专业的名词的——
RAII
。
simulationer
·
2019-11-06 01:08
条款 14:在资源管理类中小心 copying 行为
《EffectiveC++中文版第三版》读书笔记**条款14:在资源管理类中小心copying行为**
RAII
守则:资源在构造期间获得,在析构期间释放。许多时候允许
RAII
对象被复制并不合理。
赵者也
·
2019-11-06 01:36
五点讲述C++智能指针的点点滴滴
0、摘要本文先讲了智能指针存在之前C++面临的窘境,并顺理成章地引出利用
RAII
技术封装普通指针从而诞生了智能指针,然后以示例代码的形式讲解了三种智能指针的基本用法。
嗯哼_9793
·
2019-11-03 19:36
使用 C++ 封装互斥量、条件变量
本文使用C++
RAII
机制来封装互斥量、条件变量,使其自动管理互斥量、条件变量的生命周期,避免手动维护带来的资源泄露等各种问题。本文使用的是Linux下Pthread库。
chenBright
·
2019-10-26 07:59
c++
并发编程
pthreads
linux编程
关于c++ 智能指针及 循环引用的问题
如此c++引入智能指针,智能指针即是C++
RAII
的一种应用,可用于动态资源管理,资源即对象的管理策略。智能指针在标头文件的std命名空间中定义。它们对
RAII
或获取资源即初始化编程
·
2019-09-24 11:35
C++ 智能指针 笔记
C++智能指针笔记几种智能指针auto_ptr,unique_ptr,shared_ptr,weak_ptr,其中第一个已经被c++11弃用从较浅的层面看,智能指针是利用了一种叫做
RAII
(资源获取即初始化
FrozenMap
·
2019-09-08 00:00
c++
C++中的
RAII
介绍
原文链接:https://www.cnblogs.com/jiangbin/p/6986511.html以下内容转载自C++中的
RAII
介绍,原作者为binbinneu。
Gosick_Geass_Gate
·
2019-09-07 22:23
note
c++11 智能指针那些事情
1.
RAII
(ResourceAcquisitionIsInitialization资源获取即初始化)既然类是C++中的主要抽象工具,那么就将资源抽象为类,用局部对象来表示资源,把管理资源的任务转化为管理局部对象的任务
王王王王王景
·
2019-08-21 10:14
上一页
6
7
8
9
10
11
12
13
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他