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
smart_ptr
02 智能指针
2.具有指针的行为:构造析构获取原始指针解引用指针运算符bool运算符(本类型到bool的隐式转换)3.拷贝构造和赋值(拷贝):禁止拷贝,作为智能指针功能不完善但是可以避免出错(同一对象释放两次)
smart_ptr
半盏清茶_6300
·
2023-12-31 01:55
《boost程序库完全开发指南》读书笔记
第一章:安装,使用方法第二章:时间日期timer库,progress_timer,progress_display,date_time第三章:内存管理,智能指针
smart_ptr
库,scoped_ptr
海棠如醉
·
2023-11-20 17:10
编程语言
c++
初探boost之
smart_ptr
库学习笔记
概述Boost.smart_ptr库提供了六种智能指针,除了shared_ptr和weak_ptr以外还包括scoped_ptr、scoped_array、shared_array、intrusive_ptr。他们的速度与原始指针相差无几,都是异常安全的,而且对于类型T也仅有一个要求:类型T的析构函数不能抛出异常。使用时包含头文件:#includescoped_ptr用法:scoped_ptr的构
wangxiaobupt
·
2023-10-14 10:35
【Boost】
【C/C++】
c++
boost
shared_ptr
weak_ptr
smart_ptr
Boost开发指南-3.12小结
C++11标准提供了unique_ptr、shared_ptr和weak_ptr,很好地减轻了程序员的内存管理负担,但没有解决所有问题,讨论了Boost关于内存管理的两个库:
smart_ptr
和pool
阳光开朗男孩
·
2023-08-03 04:32
Boost
java
开发语言
C++ : 智能指针
templateclassSmart_Ptr{public:
Smart_Ptr
(T*s):source(s){cnt=newint(1);}
Smart_Ptr
(Smart_Ptr&p){source=p.source
·
2023-06-20 00:01
c++
智能指针
smart_ptr
智能指针为什么需要智能指针?内存泄漏什么是内存泄漏,内存泄漏的危害内存泄漏分类智能指针的使用及原理RAII智能指针的原理std::auto_ptrstd::unique_ptrstd::shared_ptr为什么需要智能指针?下面我们先分析一下下面这段程序有没有什么内存方面的问题?intdiv(){inta,b;cin>>a>>b;if(b==0)throwinvalid_argument("除0
“初生”
·
2023-06-19 14:06
C++
开发语言
c++
为什么多线程读写 shared_ptr 要加锁? --shared_ptr的线程安全性
根据文档(http://www.boost.org/doc/libs/release/libs/
smart_ptr
/shared_ptr.htm#Th
amoscykl
·
2023-04-17 16:38
C/C++
网络编程
shared_ptr
线程安全
空指针,指针使用不当 Assertion `px != 0‘ failed. Aborted (core dumped)
/usr/include/boost/
smart_ptr
/shared_ptr.hpp:734:typenameboost::detail::sp_mem
Yancey Lee
·
2023-04-07 03:49
C++笔记
c++
【C++】const与shared_ptr使用中的一个细节
具体shared_ptr::operator->实现如下,摘自boost1.52.0版本boost\
smart_ptr
\share
Amelie_xiao
·
2022-12-29 11:12
c++
开发语言
用C++11替代Boost的实验之三
剩下的还有random库和bind/function/mem_fn/ref/
smart_ptr
这一组。看来,到了不得不改代码的时候了。
weixin_33947521
·
2020-09-17 07:20
c/c++
游戏
智能指针的使用:
smart_ptr
在现代C++中,绝对不要再使用“裸指针(nakedpointer)”了,不要用const可以修饰指针,而是应该使用“智能指针(smartpointer)”。智能指针所谓的“智能指针”,当然是相对于“不智能指针”,也就是“裸指针”而言的。裸指针,它有时候也被称为原始指针,或者直接简称为指针。指针是源自C语言的概念,本质上是一个内存地址索引,代表了一小片内存区域(也可能会很大),能够直接读写内存。因为
LYR1994
·
2020-09-14 06:46
c++
c++
编程语言
指针
Boost库中的智能指针scoped_ptr,scoped_array
一.boost库中
smart_ptr
产生的原因,所发挥的作用我们知道,为了更安全使用指针,不再让C/C++程序猿为了代码的内存管理而苦恼,VC和VS都带有智能指针auto_ptr供程序猿调用。
山农
·
2020-09-12 23:13
Boost
Linux内核里的智能指针
现代的C/C++类库一般会提供智能指针来作为内存管理的折中方案,比如STL的auto_ptr,Boost的
Smart_ptr
库,QT的QPointer家族,甚至是基于C语言构建的GTK+也通过引用计数来实现类似的功能
wwang
·
2020-08-22 02:44
Linux
内核
智能指针
Smart_ptr
源码剖析和问题探究
1.auto_ptr为什么不能作为STL容器元素类型?auto_ptr的源码,operator=的代码实现:operator=(auto_ptr&__a)throw(){reset(__a.release());return*this;}由于开发者在设计auto_ptr时,并未引入计数机制,故不能让两个auto_ptr指向同一块内存,会出现A正在使用而B却将共有的对象析构等严重问题。所以在copy
ruirui51921
·
2020-08-04 00:46
关于 shared_ptr 的线程安全
根据文档(http://www.boost.org/doc/libs/release/libs/
smart_ptr
/share
Error Man
·
2020-07-02 13:54
Linux多线程服务端编程
boost智能指针之shared_ptr和weak_ptr
boost的
smart_ptr
中提供了4种智能指针和2种智能指针数组来作为std::auto_ptr的补充。
IT_Linux
·
2020-07-01 10:07
C++
boost::scoped_ptr学习
scoped_ptr的优点在于:使代码变得清晰简单,简单意味着更少的错误没有增加多余的操作,安全的同时保证效率socped_ptr位于boost/scoped_ptr.hpp其实内部引用的是boost/
smart_ptr
剑雪封侯之
·
2019-11-03 02:22
boost库:
Smart_ptr
浅谈
无论C还是C++中,我们从一开始接触他们,老时就开始强调在使用后要对内存进行释放,以免发生内存泄露,但是,我们总有粗心的时候,C++中提出了只能指针的概念,用只能指针类来管理所申请的内存,伴随着函数的结束,智能指针自动调用析构函数对其进行释放。智能指针(auto_ptr)*auto_ptr指针的所有权可以转移,可以在函数只见传递,但同一时刻只能有一个auto_*ptr管理指针,当auto_ptr对
Dandelion_gong
·
2016-04-25 21:00
C++
智能指针
boost
智能指针的简单剖析和实现
强大的C++则采用智能指针(
Smart_Ptr
)来处理这个问题.好了,什么是智能指针呢?智能指针的行为类似常规指针,重要的区别是它负责自动释放所指向的对象。这样以防止内存泄漏。智能指针都有哪些种类呢?
柠公子
·
2016-04-09 22:55
C++
智能指针
动态内存
boost的内存管理
smart_ptrraii(ResourceAcquisitionIsInitialization)智能指针系列的都统称为
smart_ptr
,包括c++98标准的auto_ptr智能指针是一个类,通过重载
lonelyrains
·
2016-03-24 15:00
内存管理
boost
exception,
smart_ptr
//Workshop9-SmartPointers //w9.cpp #include #include #include"Element.h" #include"List.h" constintFWC=5; constintFWD=12; constintFWP=8; w9::Listmerge(constw9::List&desc,constw9::List&price) { w9::Li
tianya_team
·
2015-11-26 14:00
使用Boost库中的组件进行C++内存管理
Boost中,提供了6中智能指针:scoped_ptr, scoped_array, shared_ptr, shared_array, weak_ptr, instrusive_ptt,这些智能指针属于
smart_ptr
·
2015-11-13 11:37
boost
【Boost】系列02:内存管理之scoped_ptr智能指针
智能指针,stl中有auto_ptr,boost的
smart_ptr
库有6种: scoped_ptr,scoped_array,shared_ptr,shared_array,weak_ptr和intrusive_ptr
·
2015-11-13 10:16
scope
记录以下boost::shared_ptr的一个使用细节
具体shared_ptr::operator->实现如下,摘自boost1.52.0版本boost\
smart_ptr
\shared
·
2015-11-13 10:10
boost
CCI_chapter 13C++
13.9Write a smart pointer (
smart_ptr
) class template<class T>class SmartPoint{ public: SmartPoint
·
2015-11-12 20:16
C++
使用enable_shared_from_this示例
1 /*测试enable_shared_from_this*/ 2 #include <iostream> 3 #include <boost/
smart_ptr
/shared_ptr.hpp
·
2015-11-11 16:35
this
智能指针和内存管理小结
·概述: 主要是两个库:
smart_ptr
库和pool库。
·
2015-11-11 08:21
内存管理
Smart_ptr
库
除了标准库提供的智能指针std::auto_ptr外,boost中存在六个智能指针:scoped_ptr,shared_ptr,intrusive_ptr,weak_ptr和scoped_array,shared_array。 相比于std::auto_ptr不能用作STL容器的元素,Boost的智能指针则填补了这个空白。
·
2015-11-11 08:16
tr
boost::
smart_ptr
学习笔记
scoped_ptr scoped_ptr指针对象在其析构时或者显示调用reset方法时会确保其所指向的对象(使用new表达式创建的)会被删除。scoped_ptr指针不存在shared-ownership或transfer-of-ownership的问题,它指向对象的ownership是由其scope决定的;因为scoped_ptr指针的简单,它的效率几乎了原始指针类型一样,并且也没有额外的存
·
2015-11-02 09:13
boost
Linux内核里的“智能指针”
现代的C/C++类库一般会提供智能指针来作为内存管理的折中方案,比如STL的auto_ptr,Boost的
Smart_ptr
库,QT的QPointer家族,甚至是基于C语言构建的GTK+也通过引用计数来实现类似的功能
·
2015-11-01 13:38
linux
关于boost 的
smart_ptr
的使用问题
boost 的
smart_ptr
库中含有好几种智能指针,大家用的最多的应该是shared_ptr ,为啥呢?
·
2015-10-31 15:58
boost
引领Boost(四)(Boost::
smart_ptr
)
一 Boost::smart_Ptr 我们学习C++都知道智能指针,例如STL中的std::auto_ptr,但是为什么要使用智能指针,使用它能带给我们什么好处呢? 最简单的使用智能指针可以不会因为忘记delete指针而造成内存泄露。还有如果我们开发或者使用第三方的lib中的某些函数需要返回指针,这样的返回的指针被clie
·
2015-10-31 08:20
boost
boost之内存管理
boost的
smart_ptr
库是对C++98标准的绝佳补充。它提供了六种智能指针,包括scoped_ptr、scoped_array、shared_ptr、shared_arr
·
2015-10-30 13:37
boost
引用计数型指针的的简单实现
template classSmart_ptr { public:
Smart_ptr
(T*p=0):pointer(p),count(newsize_t(p==0?
kai8wei
·
2015-10-07 17:00
Linux内核里的“智能指针”
现代的C/C++类库一般会提供智能指针来作为内存管理的折中方案,比如STL的auto_ptr,Boost的
Smart_ptr
库,QT的QPointer家族,甚至是基于C语言构建的GTK+也通过引用计数来实现类似的功能
人生想绕几个圈
·
2015-08-09 09:00
C++
c
linux
指针
内核
boost智能指针之shared_ptr和weak_ptr
boost的
smart_ptr
中提供了4种智能指针和2种智能指针数组来作为std::auto_ptr的补充。
IT_PCode
·
2015-01-29 09:00
C++
shared_ptr
智能指针
boost
共享指针
怎么表示同一对象
怎么表示同一对象一些例子,我们创建符号表,当前的context的string_key去query一个对象,对同一对象的可表示为这个对象的引用和同一对象相关的数据结构封装得到的一个
smart_ptr
,
银色月光下
·
2014-06-10 00:00
智能指针的一种实现
)返回原始指针指向的对象的引用T*release()交还原始指针管理权基于以上功能要求,实现智能指针如下#pragmaonce template classsmart_ptr{ public: //
smart_ptr
hongjunbj
·
2014-04-28 22:00
C++ - "scoped_array" 的 详解
/blog.csdn.net/caroline_wendy/article/details/24174207参考: http://www.boost.org/doc/libs/1_54_0/libs/
smart_ptr
u012515223
·
2014-04-20 09:00
C++
header
scoped_array
Mystra
自动析构
Boost库学习随记三
smart_ptr
库、soped_ptr、scoped_array、shared_ptr、shared_array、weak_ptr等等
include #include #include #include #include //#include usingnamespacestd; usingnamespaceboost; //
smart_ptr
leitianjun
·
2014-04-12 19:00
Smart_ptr
RAII机制C++程序员采用RAII机制(资源获取即初始化),在使用资源的类的构造函数中申请资源,然后使用,最后在析构函数中释放资源.scoped_ptr用于确保能够正确地删除动态分配的对象;拷贝构造函数+赋值操作符为私有的(禁止复制操作);get();返回scoped_ptr内部保存的原始指针与auto_ptr的区别:区别主要在于对拥有权的处理:(1)scoped_ptr它不能转让所有权,永远不
wodeyijia911
·
2014-03-01 12:00
Linux内核引用计数
现代的C/C++类库一般会提供智能指针来作为内存管理的折中方案,比如STL的auto_ptr,Boost的
Smart_ptr
库,QT的QPointer家族,甚至是基于C语言构建的GTK+也通过引用计数来实现类似的功能
all8023
·
2013-11-07 15:49
Linux
使用Boost库中的组件进行C++内存管理
部分的解决了获取资源自动释放的问题在Boost中,提供了6中智能指针:scoped_ptr,scoped_array,shared_ptr,shared_array,weak_ptr,instrusive_ptt,这些智能指针属于
smart_ptr
kate19930802
·
2013-07-14 15:00
Boost使用笔记(
Smart_ptr
)
,复制过来实在懒得在排版了,有兴趣的朋友可以去我的百度文库看,谢谢http://wenku.baidu.com/view/34e485e2f61fb7360b4c653e.htmlBoost使用笔记(
Smart_ptr
·
2013-07-01 16:00
boost
C++开发:为什么多线程读写shared_ptr要加锁的详细介绍
根据文档(http://www.boost.org/doc/libs/release/libs/
smart_ptr
/shared_ptr.htm#T
·
2013-04-28 14:27
linux 内核引用计数
现代的C/C++类库一般会提供智能指针来作为内存管理的折中方案,比如STL的auto_ptr,Boost的
Smart_ptr
库,QT的QPointer家
uyiwfn
·
2012-12-03 14:00
Linux内核里的智能指针
现代的C/C++类库一般会提供智能指针来作为内存管理的折中方案,比如STL的auto_ptr,Boost的
Smart_ptr
库,QT的QPointer家族,甚至是基于C语言构建的GTK+也通过引用计数来实现类似的功能
myxmu
·
2012-09-16 17:00
一个C++ delegate的实现
一个C++delegate的实现更新说明:修改了借口,增加了对
smart_ptr
的支持。最近需要一个C++delegate的实现,比较接近C#的delegate的用法。
ilvu999
·
2012-09-06 00:00
enable_shared_from_this
enable_shared_from_this(转载)在C++中需要自己来处理内存,稍微处理不当,就会存在非常郁闷的内存泄漏问题 还好,现在C++中推出了强大的智能指针,即
smart_ptr
,本文先稍微介绍一下
colorful
·
2012-06-22 22:00
Boost源码剖析--
smart_ptr/scoped_ptr.hpp>
Boost源码剖析--By马冬亮(凝霜 Loki)一个人的战争(http://blog.csdn.net/MDL13412)头文件: 定位: 对于需要在一定范围内精确控制生命周期,并且不需要共享所有权或所有权转让语义的对象,提供内存的托管。由于不允许拷贝操作,可以在一定程度上防止误操作,较shared_ptr和std::auto_ptr更为安全。分析: scoped_ptr提供了
MDL13412
·
2012-05-07 14:00
Constructor
templates
hook
initialization
destructor
RAII
上一页
1
2
下一页
按字母分类:
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
其他