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++ 学习笔记8--移动语义和智能指针
文章目录移动语义1.几个基本概念的理解2.移动构造函数3.移动赋值函数4.std::move函数5.面试题,关于实现String资源管理和智能指针一、C语言中的问题二、C++的解决办法(
RAII
技术)三
谢白羽
·
2021-05-25 22:07
c++
指针
c++
内存管理
C++
RAII
典型应用之lock_guard和unique_lock模板
文章目录1前言2lock_guard3lock_guard使用4unique_lock5相关文章1前言 常用的线程间同步/通信(IPC)方式有锁(互斥锁、读写锁、自旋锁)、屏障、条件变量、信号量、消息队列。其中锁一种最常用的一种IPC,用于对多个线程共享的资源进行保护,达到线程互斥访问资源的目的。以互斥锁为例,其中最常见的异常而且是致命的问题是——“死锁”。 死锁(DeadLock)是指两个或
Acuity.
·
2021-05-18 20:42
C/C++编程
代码质量
c++
lock_guard
unique_lock
巧妙使用
RAII
中的ScopeExit
RAII
的应用见如下代码:std::mutexmutex;voidfunc
·
2021-05-06 19:00
总结了24个C++的大坑,你能躲过几个
分享一个我在知乎上看见的回答:C++≈Cwithclasses,CwithSTLC:面向机器编程C++:面向编译器编程C++有个很重要的特性叫
RAII
,个人认为可以多多使用,相当方便,关于
RAII
巧妙使用可以看我这两篇文章
·
2021-05-06 19:58
条款13 以类管理对象
为防止资源泄漏,请使用
RAII
(resourceacquisitionisinitialization)对象,它们在构造函数中获得资源并在析构函数中释放资源。
Songger
·
2021-04-24 08:54
c++ 智能指针基础详解
它对于资源获取即初始化(
RAII
,ResourceAcquisitionIsInitialization)编程理念至关重要。该理念的目的是保证对象初始化的时
·
2021-02-18 20:20
C++ 中的智能指针-基础
它对于_资源获取即初始化(
RAII
,ResourceAcquisitionIsInitialization)_编程理念至关重要。该理念的目的是保证对象初始化
·
2021-02-18 18:38
c++
《More Effective C++》总结笔记(二)——异常
简单来说就是,当有资源可能在函数抛异常时而无法释放,这时可以将资源封装到对象内(
RAII
),利用对象的析构函数来自动释放资源,这样即使有exceptions发生,也不会有资源泄露。
·
2021-02-15 13:18
c++异常处理
《More Effective C++》总结笔记(二)——异常
简单来说就是,当有资源可能在函数抛异常时而无法释放,这时可以将资源封装到对象内(
RAII
),利用对象的析构函数来自动释放资源,这样即使有exceptions发生,也不会有资源泄露。
·
2021-02-05 21:15
c++异常处理
使用C++11实现一个半同步半异步的线程池
SyncQueue端使用条件变量和互斥体支持同步,避免同时读写list4、ThreadPool端使用atomic_bool支持多线程下的bool变量的原子性,类似跨线程的唯一标识,标识线程是否处于运行状态5、使用
RAII
FredricZhu
·
2021-01-21 11:59
智能指针
智能指针运用了一种叫做
RAII
的技术,
-小淮要努力
·
2021-01-03 22:29
智能指针
c++
C++智能指针
RAII
:C++中一个对象出了其作用域就会被自动析构,只要在构造函数时候申请空间,析构函数时候释放空间,围绕着构造和析构进行操作。
365_9163
·
2020-10-13 10:41
通过例子来学习 Go 和 Rust ---- RwLock 读写锁
rust里和Mutex类似,使用
RAII
(ResourceAcquisitionIsInitialization)来保证在值被Drop的时候自动解锁。而go里依然是需要手动解锁。
Ljzn
·
2020-10-11 16:21
golang
rust
become-expert-in-cpp
notes-on-effective-cpp----------------------item13以对象管理资源(
RAII
)1)[Lambda+tr1::function]VS[auto_ptr]item32
KUANG13547029
·
2020-09-17 08:11
c/c++
数据库
数据结构与算法
Effective C++学习笔记(三)
条款13用对象来管理资源为防止资源泄露,使用资源管理对象来构造资源和析构资源,最好在获取资源的同时进行初始化(
RAII
)最常见的资源管理对象为智能指针,std::auto_ptr与std::shared_ptr
_Maple_H
·
2020-09-16 22:43
C++学习
学习 muduo。
1、
RAII
手法。
hqwuu
·
2020-09-16 21:02
muduo
C/C++
C++中的
RAII
介绍
摘要
RAII
技术被认为是C++中管理资源的最佳方法,进一步引申,使用
RAII
技术也可以实现安全、简洁的状态管理,编写出优雅的异常安全的代码。
telnetipc
·
2020-09-16 10:00
C++
计数智能指针要点(shared_ptr)
常用的智能指针有scope_ptr(c++11unique_ptr),利用
RAII
特性,保证资源在作用域失效的时候被释放,也保证异常抛出时栈回滚能够释放资源;引用计数智能指针(shared_
cd2108006026
·
2020-09-15 21:40
boost-asio
libevent之 C++
RAII
封装 定时器
前言:这两天读Bitcoin代码,不禁感慨作者的强大,代码的精妙不是我这码农虔诚膜拜便能读懂的,更远远谈不上企及。于是默默埋头,回想本屌,工作七年还是个默默无闻不及格的码农,黯然内流~~C/C++那种非人性化的吐槽:相信很多童鞋跟本农一样,吃过饭之后就是不想洗碗收拾桌子。那太麻烦了,像我们这样怕麻烦的,吃饭首选快餐。以致于错过了自己做饭的乐趣。C/C++就是这样麻烦的发明,效率高不说,可就是要擦屁
feekia
·
2020-09-15 11:03
libevent
C++
linux
多线程总结-2020-09-07
头文件std::mutexlock()、unlock()需要在离开函数的地方解锁std::lock_guard()实现互斥元
RAII
不要把受保护的数据引用或指针传递到锁的范围之外。
阳光下的我们2019
·
2020-09-15 11:34
学习C++之路
C++锁的管理-- std::lock_guard和std::unique_lock
前言锁管理遵循
RAII
习语来处理资源。锁管理器在构造函数中自动绑定它的互斥体,并在析构函数中释放它。这大大减少了死锁的风险,因为运行时会处理互斥体。。
lesliefish
·
2020-09-14 08:02
Moderns
C++
【C++面试知识】智能指针
理解智能指针从三个方面:1.智能指针使用一种叫
RAII
(资源获取即初始化)的技术对普通指针进行封装,使得智能指针实质是个对象,表现得是个指针。
做人事
·
2020-09-12 15:43
C++11资源管理新方法ON_SCOPE_EXIT
接着,BjarneStroustrup在TC++PL里面定义了
RAII
(ResourceAcquisitionisInitialization)范式(即:对象构造的时候其所需的资源便应该在构造函数中初始化
q5339621
·
2020-09-12 09:36
C++
C++
内存管理
永久改变你写异常安全代码的方式(神奇的Loki::ScopeGuard)
注2:Loki::ScopeGuard不仅对通常意义的异常有用,对于所有可以使用
RAII
的地方均有用。包括new出来的内存空间的管理,FI
purewinter
·
2020-09-12 09:05
C/C++
每天进步一点点——C++11中使用lambda表达式实现一个简单的ScopeGuard
转载请说明出处:http://blog.csdn.net/cywosp/article/details/295852271.
RAII
在进入本文主要内容之前先了解一下C++中常用的
RAII
(Resourceacquisitionisinitialization
cywosp
·
2020-09-12 08:59
C/C++
C++11中实现类似golang的defer
defer的这个特性正好契合C++的
RAII
。那我们能不能利用
RAII
实现defer的功能呢。思路
RAII
我们知道对象在作用域结束自动析构,那我们在使用de
xcyle
·
2020-09-11 19:36
C++
c++
golang
defer
RAII
effective c++条款14
1.复制
RAII
对象必须一并复制它所管理的资源,所以资源的copying行为决定
RAII
对象的copying行为2.普遍而常见的的RAIIclasscopying行为是:抑制copying,施行引用计数法第
baidu_25539425
·
2020-09-11 19:58
Effective
c++读书笔记
effective c++条款13
一旦用了它,将来必须还给系统c++最常使用的资源就是动态分配内存,但内存只是你必须管理的众多资源之一,其他常见的资源还包括文件描述器,互锁器,图形界面中的画笔,画刷,字型,数据库连接,网络socket等等
RAII
baidu_25539425
·
2020-09-11 19:58
Effective
c++读书笔记
c++
STL中的内存分配器
关于内存管理的话题,大致有两类侧重点,一类是内存的正确使用,例如C++中new和delete应该成对出现,用
RAII
技巧管理内存资源,auto_ptr等方面,很多C/C++书籍中都使用技巧的介绍。
jiangyi711
·
2020-09-10 14:38
c/c++
list
算法
vector
linux内核
byte
raii
shared_ptr共享智能指针(实现以及缺陷)
RAII
的思想、重载*->、引用计数解决浅拷贝问题。采用mutex来保证线程安全,mutex只能保证对引用计数的安全性,对于shared_ptr管理的资源由用户去保证。
XHumble
·
2020-08-25 15:48
面试杂记
RAII
全称是ResourceAcquisitionIsInitialization,即“资源获取即初始化”,其核心是把资源和对象的生命周期绑定:对象创建获取资源,对象销毁释放资源。
HamRadioDXerGLY
·
2020-08-25 04:04
校招
智能指针的实现
智能指针的使用及原理:
RAII
:
RAII
是一种利
Nemo丶
·
2020-08-25 01:54
C++
论智能指针的发展史
RAII
:1.
RAII
的由来:我们写的有关资源管理的代码如果出现bug,会导致下面的问题:●malloc出来的空间,没有进行释放,存在内存泄漏的问题。●异常安全问题。
a_struggling_monkey
·
2020-08-25 00:13
C++
c++智能指针介绍之auto_ptr
auto_ptr在创建的时候获取对象的所有权,在析构的时候,释放对象内存空间(
RAII
1)。重载了函数的*和->运算符,使得其操作看起来像个内置指针。没有使用引用计数,在复制构造或赋值的时候发生所
Nick_Zhang_CSDN
·
2020-08-25 00:23
#
1.1
c++
Effective C++(14) 在资源管理类中小心copying行为
在详述这一章的主题之前,先回忆一下上一节所提到的一个名词——
RAII
(ResourceAcquisitionIsInitialization)含义就是:资源取得时机便是初始化时机。
_suzhou
·
2020-08-24 18:49
C/C++
Effective C++条款14:在资源管理类中小心copying行为
在条款13中,我们有了“资源获得的时机便是初始化时机”的
RAII
概念,在实现上,我们很多时候会选择使用auto_ptr和tr1::sharec_ptr指针,但是很多时候我们会发现,这两个指针也不是万能的
Dylan_young
·
2020-08-24 17:59
C++
effective c++ 条款14 在资源管理类中小心copying行为
先说一个重要的概念是
RAII
(ResourceAcquisitionisInitialization)即资源在获得时进行初始化。
weixin_33725126
·
2020-08-24 17:13
c++异常机制分析
C++异常机制概述throw关键字异常对象catch关键字栈展开、
RAII
异常机制与构造函数异常机制与析构函数noexcept修饰符与noexcept操作符异常处理的性能分析正文C++异常机制概述异常处理是
一支兰州
·
2020-08-24 16:08
c/c++
读书笔记《Effective C++》条款14:在资源管理类中小心copying行为
条款13导入这样的观念:“资源取得时机便是初始化时机(
RAII
)”,并以此作为“资源管理类”的脊柱,也描述了auto_ptr和shared_ptr如何将这个观念表现在heap-based资源上。
Do-Program
·
2020-08-24 16:21
C++
条款14:在资源管理类中小心copying行为
//条款14:在资源管理类中小心copy行为//1.复制
RAII
对象必须一并复制它所管理的资源,所以资源的copying行为决定
RAII
对象的copying行为。
哲这这
·
2020-08-24 16:31
Effective
C++
笔记:条款14: 在资源管理类中小心copying行为
当我们自己写一个使用
RAII
管理不在heap存储区中建立资源时,应该考虑当一个
RAII
对象被复制,会发生什么事情。
lkq_primer
·
2020-08-24 14:13
Effective
C++
Effective C++读书笔记----资源管理
为了防止资源泄漏,请使用
RAII
对象(资源获得即初始化),他们在构造函数中获取资源,并在析构函数中释放资源。auto_ptr防
douguailove
·
2020-08-24 14:08
C++
如何用 Valgrind 检测使用 LuaJIT FFI 过程中的内存泄漏
C++提倡用一种叫
RAII
的方式管理你的资源。简单地说,就是创建对象时获取,销毁对象时释放。我们可以在LuaJITFFI里
spacewander
·
2020-08-24 13:30
ffi
luajit
valgrind
Effective C++ 条款14 在资源管理类中小心copying行为
1.条款13导入
RAII
的观念:资源获取时机便是初始化时机,资源会在不需要的时刻被销毁,典型代表就是shared_ptr和weak_ptr,但是并非所有资源都是堆内存,例如外存和堆栈,在这种情况下,auto_ptr
ddzai7557
·
2020-08-24 12:15
c/c++
Effective C++_读书笔记_103
资源管理条款13以对象管理资源为防止资源(内存,文件描述符,socket,mutex等)泄露,请使用
RAII
,即在构造函数中获取资源并在析构函数中释放资源.不要使用auto_ptr,因其复制动作会使得被复制物指向
FlyingPig_
·
2020-08-24 04:40
C++智能指针
四大智能指针与RAIIhttps://blog.csdn.net/Ferlan/article/details/86513679
RAII
即用对象管理资源,在对象的生命周期内,该资源一直有效,当对象被析构时
张火油
·
2020-08-24 00:47
c++智能指针
智能指针的使用及原理
RAII
(ResourceAcquisitionIsInitialization)是一种利用对象生命周期来控制程序资源(如内存、文件句柄、网络连接、互斥量等等)的简单技术。
我喜欢的人很优秀
·
2020-08-23 08:54
c++
C++内存管理
RAII
RAII
即当资源取得时机就是初始化时机,也就是以
wingWC
·
2020-08-21 11:04
C++
线程同步之利器(2)——区域锁(Scoped locking)
区域锁实际上是
RAII
模式在锁上面的具体应用。
RAII
(ResourceAcquisitionIsIn
zouxinfox
·
2020-08-20 21:19
操作系统
多线程的互斥锁应用
RAII
机制
什么是
RAII
机制
RAII
是ResourceAcquisitionIsInitialization(翻译成“资源获取即初始化”)的简称,是C++语言的一种管理资源、避免资源泄漏的惯用法,该方法依赖构造函数资和析构函数的执行机制
Jimmy1224
·
2020-08-20 20:45
多线程
基于C++11的多线程编程
lock_guard
CreateMutex
RAII
关键代码段
多线程
上一页
3
4
5
6
7
8
9
10
下一页
按字母分类:
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
其他