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
weak_ptr
C++11智能指针之shared_ptr、
weak_ptr
1.shared_ptr、
weak_ptr
概念shared_ptr与
weak_ptr
智能指针均是C++RAII的一种应用,可用于动态资源管理shared_ptr基于“引用计数”模型实现,多个shared_ptr
gaoshanluishui
·
2013-10-02 21:00
智能指针
shared_ptr
C++11
weak_ptr
RAII
C++11智能指针之unique_ptr
C++11中有unique_ptr、shared_ptr与
weak_ptr
等智能指针,可以对动态资源进行管理2.unique_ptr概念unique_ptr“唯一”拥有其所指对象,同一时刻只能有一个unique_ptr
gaoshanluishui
·
2013-10-01 21:00
智能指针
C++11
RAII
unique_ptr
智能指针boost::
weak_ptr
【1】boost::
weak_ptr
简介boost::
weak_ptr
属于boost库,定义在namespaceboost中,包含头文件#include便可以使用。
a20102110080212
·
2013-09-14 11:00
浅析Boost智能指针:scoped_ptr shared_ptr
weak_ptr
一.scoped_ptrboost::scoped_ptr和std::auto_ptr非常类似,是一个简单的智能指针,它能够保证在离开作用域后对象被自动释放。下列代码演示了该指针的基本应用:复制代码代码如下:#include#include#includeclassimplementation{public:~implementation(){std::coutimpl(newimplementa
·
2013-09-13 09:43
[6] 智能指针boost::
weak_ptr
【1】boost::
weak_ptr
简介 boost::
weak_ptr
属于boost库,定义在namespace boost中,包含头文件 #include<boost/weak_ptr.hpp
·
2013-09-02 23:00
boost
Linux多线程服务端编程(笔记1)
只要有指向对象x的shared_ptr存在对象x就不会析构,当指向x的最后一个shared_ptr析构或reset时x会被销毁.
weak_ptr
不控制对象生命期,但是它知道对象是否活着:若对象还活着它可以提升为
liuxuejiang158
·
2013-09-01 21:00
Linux多线程服务端编程
C++ 中线程安全的对象回调
如何避免这种竞态条件是 C++ 多线程编程面临的基本问题,可以借助 boost 的 shared_ptr 和
weak_ptr
完美解决。这也
gotowqj
·
2013-08-31 18:00
多线程
C++
从零开始学C++之boost库(一):详解 boost 库智能指针(scoped_ptr 、shared_ptr 、
weak_ptr
源码分析)
一、boost智能指针智能指针是利用RAII(ResourceAcquisitionIsInitialization:资源获取即初始化)来管理资源。关于RAII的讨论可以参考前面的文章。在使用boost库之前应该先下载后放在某个路径,并在VS包含目录中添加。下面是boost库里面的智能指针:(一)、scoped_ptr先来看例程:C++Code123456789101112131415161718
s1mba
·
2013-07-29 17:51
从零开始学C++
从零开始学C++
从零开始学C++之boost库(一):详解 boost 库智能指针(scoped_ptr
、shared_ptr
、
weak_ptr
源码分析)
一、boost智能指针智能指针是利用RAII(ResourceAcquisitionIsInitialization:资源获取即初始化)来管理资源。关于RAII的讨论可以参考前面的文章。在使用boost库之前应该先下载后放在某个路径,并在VS包含目录中添加。下面是boost库里面的智能指针:(一)、scoped_ptr先来看例程:C++Code123456789101112131415161718
aspnetwinform
·
2013-07-29 17:00
scope
[置顶] 从零开始学C++之boost库(一):详解 boost 库智能指针(scoped_ptr
、shared_ptr
、
weak_ptr
源码分析)
一、boost智能指针智能指针是利用RAII(ResourceAcquisitionIsInitialization:资源获取即初始化)来管理资源。关于RAII的讨论可以参考前面的文章。在使用boost库之前应该先下载后放在某个路径,并在VS包含目录中添加。下面是boost库里面的智能指针:(一)、scoped_ptr先来看例程: C++Code 1234567891011121314151617
Simba888888
·
2013-07-29 17:00
智能指针
boost库
scoped_ptrT
shared_ptrT
使用Boost库中的组件进行C++内存管理
标准库中的auto_ptr,智能指针,部分的解决了获取资源自动释放的问题在Boost中,提供了6中智能指针:scoped_ptr,scoped_array,shared_ptr,shared_array,
weak_ptr
pi9nc
·
2013-07-16 09:00
Boost学习
使用Boost库中的组件进行C++内存管理
标准库中的auto_ptr,智能指针,部分的解决了获取资源自动释放的问题在Boost中,提供了6中智能指针:scoped_ptr,scoped_array,shared_ptr,shared_array,
weak_ptr
kate19930802
·
2013-07-14 15:00
輕量級基於引用計數的智能指針類
輕量級基於引用計數的智能指針類RalphShane(free2000flyatgmaildotcom)SmartPointer概述包含兩种指針:強指針strong_ptr 和弱指針
weak_ptr
。
free2000fly 的自留地
·
2013-06-15 13:00
Boost智能指针:scoped_ptr shared_ptr
weak_ptr
Boost智能指针:scoped_ptrshared_ptrweak_ptr一. scoped_ptrboost::scoped_ptr和std::auto_ptr非常类似,是一个简单的智能指针,它能够保证在离开作用域后对象被自动释放。下列代码演示了该指针的基本应用:#include #include #include class implementation{public: ~implem
chenglinhust
·
2013-06-06 14:00
shared_ptr与
weak_ptr
最近学习C++11,看到了强大的shared_ptr,心想,为何有了shared_ptr,还需要
weak_ptr
,
weak_ptr
是做什么的呢?
.NET骚操作
·
2013-05-11 00:00
shared_ptr与
weak_ptr
最近学习C++11,看到了强大的shared_ptr,心想,为何有了shared_ptr,还需要
weak_ptr
,
weak_ptr
是做什么的呢?
·
2013-05-11 00:00
weak
Boost智能指针——scoped_ptr、shared_ptr、
weak_ptr
、intrusive_ptr
一、scoped_ptrboost::scoped_ptr和std::auto_ptr非常类似,是一个简单的智能指针,它能够保证在离开作用域后对象被自动释放。下列代码演示了该指针的基本应用:#include #include #include classimplementation { public: ~implementation(){std::coutimpl(newimplementati
yockie
·
2013-04-23 15:00
weak_ptr
unique_ptr(定义在中)提供了一种严格的语义上的所有权 拥有它所指向的对象 无法进行复制构造,也无法进行复制赋值操作(译注:也就是对其无法进行复制,我们无法得到指向同一个对象的两个unique_ptr),但是可以进行移动构造和移动赋值操作 保存指向某个对象的指针,当它本身被删除释放的时候(例如,离开某个作用域),会使用给定的删除器(deleter)删除释放它指向的对象, uni
xiangjie88
·
2013-04-20 16:00
weak
Shared_from_this 几个值得注意的地方
原因是enable_shared_from_this::
weak_ptr
并不在构造函数中设置,而是在shared_ptr的构造函数中设置。 如下代码是错误的:classD:public boost:
瑞尼书苑
·
2013-03-31 19:00
Boost智能指针——
weak_ptr
http://www.cnblogs.com/TianFang/archive/2008/09/20/1294590.html循环引用:引用计数是一种便利的内存管理机制,但它有一个很大的缺点,那就是不能管理循环引用的对象。一个简单的例子如下:#include #include #include #include class parent;class children;typedef boost::
ywh147
·
2013-02-26 17:00
boost库在工作(11)引用计数的智能指针
weak_ptr
因此,就提出另外一个智能指针
weak_ptr
。这个智能指针只对引用的指针进行保存,但不增加引用指针的计数,因而它不对shared_ptr的指针具有拥有权,
caimouse
·
2013-02-24 21:00
auto_ptr、shared_ptr、
weak_ptr
、scoped_ptr用法小结
auto_ptr auto_ptr是现在标准库里面一个轻量级的智能指针的实现,存在于头文件memory中,之所以说它是轻量级,是因为它只有一个成员变量(拥有对象的指针),相关的调用开销也非常小。 下面的代码来自于VC++8.0里面的源码: 里面有个auto_ptr_ref的数据结构,我们可以把它忽略,这个只是内部使用的代理结构,用于一些隐式的const变化,我们客户端代码通常不会直接使用到它。
lollipop_jin
·
2013-01-14 09:00
weak_ptr
解除循环引用
先看一下shared_ptr的正确用法:classA{ public: A(){ coutb; }; classB{ public: B(){ couta; }; /* * */ intmain(intargc,char**argv){ shared_ptrx(newA);此时运行程序,显示:A::A() A::~A() 好,A对象被正确的创建和销毁了。但是注意A对象里面有一个shared
sheismylife
·
2012-12-11 10:00
weak_ptr
的构造函数
weak_ptr
是用来解决shared_ptr的循环引用问题的。
sheismylife
·
2012-12-10 22:00
智能指针
weak_ptr
weak_ptr
:
weak_ptr
是为了配合shared_ptr而引入的一种智能指针,它更像是shared_ptr的一个助手而不是智能指针,因为它不具有普通指针的行为,没有重载operator*和->
mmzsyx
·
2012-10-19 17:00
工作
存储
C++小品:
weak_ptr
与传达室的花名册
C++小品:
weak_ptr
与传达室的花名册 在C++11中,我们可以使用shared_ptr管理某个对象的所有权,负责对象的析构。
ilvu999
·
2012-10-19 09:00
Boost智能指针——
weak_ptr
Boost智能指针——
weak_ptr
原文出处:http://www.cnblogs.com/TianFang/archive/2008/09/20/1294590.html循环引用:引用计数是一种便利的内存管理机制
freeboy1015
·
2012-07-26 10:00
c
weak_ptr
,shared_ptr,scoped_ptr
scoped_ptr是不能和
weak_ptr
,shared_ptr进行转换的,因为没有相应的转换函数!所以他是孤立,这点从他的名字上也可以见到。scope:作用地域,领域。来开了就没有了。
hbhhww
·
2012-07-20 13:00
Boost智能指针——
weak_ptr
vs shared_ptr
本文转自:点击打开链接循环引用:引用计数是一种便利的内存管理机制,但它有一个很大的缺点,那就是不能管理循环引用的对象。一个简单的例子如下:#include#include#include#includeclassparent;classchildren;typedefboost::shared_ptrparent_ptr;typedefboost::shared_ptrchildren_ptr;c
zhuyucheng123
·
2012-07-14 20:00
智能指针
weak_ptr
智能指针
weak_ptr
主要用来协助shared_ptr。不参与引用计数,但是有以下好处:1打破递归的依赖关系2使用一个共享的资源但是不要所有权,不添加引用计数3避免悬空指针。
callmeback
·
2012-07-12 11:00
String
shared_from_this 几个值得注意的地方
原因是enable_shared_from_this::
weak_ptr
并不在构造函数中设置,而是在shared_ptr的构造函数中设置。如下代码是
colorful
·
2012-06-22 22:00
enable_shared_from_this
中需要自己来处理内存,稍微处理不当,就会存在非常郁闷的内存泄漏问题 还好,现在C++中推出了强大的智能指针,即smart_ptr,本文先稍微介绍一下smart_ptr,然后具体说说shared_ptr和
weak_ptr
colorful
·
2012-06-22 22:00
auto_ptr、shared_ptr、
weak_ptr
、scoped_ptr用法小结
auto_ptr auto_ptr是现在标准库里面一个轻量级的智能指针的实现,存在于头文件memory中,之所以说它是轻量级,是因为它只有一个成员变量(拥有对象的指针),相关的调用开销也非常小。 下面的代码来自于VC++8.0里面的源码: 里面有个auto_ptr_ref的数据结构,我们可以把它忽略,这个只是内部使用的代理结构,用于一些隐式的const变化,我们客户端代码通常不会直接使用到它。
qingcaichongchong
·
2012-05-10 18:00
数据结构
vector
String
delete
Class
文档
C++11 FAQ中文版:
weak_ptr
但是我认为,将
weak_ptr
看成是指向具有下列特征的对象的指针更好一些。
fjb2080
·
2012-05-02 13:00
数据结构
游戏
C++
c
图形
boost::
weak_ptr
和enable_shared_from_this
boost::
weak_ptr
和enable_shared_from_this shared_ptr在我的实践中使用很广,在接口层面上,我基本都会默认的使用shared_ptr.而
weak_ptr
则很少使用
hbhhww
·
2012-04-18 16:00
对象的强引用和弱引用
正好看到一篇文章“当析构函数遇到多线程──C++中线程安全的对象回调”,其大意是使用shared_ptr和
weak_ptr
来完成。对象必须使用shared_ptr来引用,weak
klarclm
·
2012-04-17 18:00
多线程
c
Exchange
generation
Boost智能指针——
weak_ptr
循环引用:引用计数是一种便利的内存管理机制,但它有一个很大的缺点,那就是不能管理循环引用的对象。一个简单的例子如下:#include#include#include#includeclassparent;classchildren;typedefboost::shared_ptrparent_ptr;typedefboost::shared_ptrchildren_ptr;classparent{
hbhhww
·
2012-04-08 11:00
c
Class
enable_shared_from_this、
weak_ptr
、shared_ptr
网上说
weak_ptr
是shared_ptr的观察员,
weak_ptr
不会干扰shared_ptr机制,当
weak_ptr
所观察的shared_ptr要释放对象时,
weak_ptr
的指针将被置空,避免空悬指针
hbhhww
·
2012-04-05 11:00
[内存管理]智能指针的好帮手
weak_ptr
weak_ptr
是为配合shared_ptr而引入的一种智能指针,它更像是shared_ptr的一个助手,而不是智能指针,因为它不具有普通指针的行为,没有重载operator*和operator->,
ajioy
·
2012-03-21 12:00
工作
存储
Class
文档
std::shared_ptr 和 std::
weak_ptr
的用法以及引用计数的循环引用问题
在std::shared_ptr被引入之前,C++标准库中实现的用于管理资源的智能指针只有std::auto_ptr一个而已。std::auto_ptr的作用非常有限,因为它存在被管理资源的所有权转移问题。这导致多个std::auto_ptr类型的局部变量不能共享同一个资源,这个问题是非常严重的哦。因为,我个人觉得,智能指针内存管理要解决的根本问题是:一个堆对象(或则资源,比如文件句柄)在被多
shanno
·
2012-03-17 10:00
c
kill
Class
boost:智能指针
scoped_ptr单个对象的简单的唯一所有权.不能拷贝.scoped_array数组对象的唯一所有权.不能拷贝.shared_ptr多个指针间共享对象所有权.shared_array多个指针间共享数组所有权
weak_ptr
saga1979
·
2011-12-25 20:00
object
vector
delete
Class
fun
shared_from_this 几个值得注意的地方
原因是enable_shared_from_this::
weak_ptr
并不在构造函数中设置,而是在shared_ptr的构造函数中设置。如下代码是错误的:classD:publicboost::
fengge8ylf
·
2011-10-21 20:00
c
Class
UP
Constructor
编译器
behavior
智能指针系列
scoped_array 独占的数组l shared_ptr 引用计数指针l shared_array 引用计数数组l
weak_ptr
scut1135
·
2011-10-12 16:00
c
null
delete
收藏
编译器
评论
boost
举报
boost智能指针
weak_ptr
循环引用 引用计数是一种便利的内存管理机制,但它有一个很大的缺点,那就是不能管理循环引用的对象。一个简单的例子如下: #include <string> #include <iostream> #include <boost/shared_ptr.hpp> #include <boost/weak_pt
eriol
·
2011-09-26 12:00
智能指针
C++小品:
weak_ptr
与传达室的花名册
C++小品:
weak_ptr
与传达室的花名册原文来自:http://imcc.blogbus.com/logs/162618478.html在C++11中,我们可以使用shared_ptr管理某个对象的所有权
我的第一本C++书
·
2011-09-20 16:00
Boost智能指针——
weak_ptr
.
blog.csdn.net/afrish/article/details/3985636 【通知】关于近期用户博文被恶意投票的解决办法 bShare分享,迅速提升10倍流量Boost智能指针——
weak_ptr
zenwanxin
·
2011-09-08 11:00
boost
weak_ptr
weak_ptr
是为配合shared_ptr而引入的一种智能指针来协助shared_ptr工作,它可以从一个shared_ptr或另一个
weak_ptr
对象构造,它的构造和析构不会引起引用记数的增加或减少
xiangjie88
·
2011-04-08 23:00
C++
c
工作
C#
智能指针
boost.smart_ptr库提供了六种智能指针,包括scoped_ptr,scoped_array,shared_ptr,shared_array,
weak_ptr
和instrusive_ptr,来增强
xiangjie88
·
2011-04-05 17:00
工作
说说shared_ptr
weak_ptr
shared_ptrweak_ptr是C++tr1中最具有实用性的一个工具。利用C++的析构函数与引用计数,提供资源自动管理的能力。在vs2010之前,大家用的都是boost中的smartptr库,现在vs2010已经提供了tr1类库。shared_ptr:每一个shared_ptr对象内部,拥有两个指针ref_ptr与res_ptr,一个指向引用计数对象,一个指向实际的资源。在shared_pt
menic
·
2011-03-20 22:24
职场
shared_ptr
休闲
weak_ptr
说说shared_ptr
weak_ptr
shared_ptrweak_ptr是C++tr1中最具有实用性的一个工具。利用C++的析构函数与引用计数,提供资源自动管理的能力。在vs2010之前,大家用的都是boost中的smartptr库,现在vs2010已经提供了tr1类库。shared_ptr:每一个shared_ptr对象内部,拥有两个指针ref_ptr与res_ptr,一个指向引用计数对象,一个指向实际的资源。在shared_pt
menic
·
2011-03-20 22:24
职场
休闲
shared_ptr
上一页
7
8
9
10
11
12
13
14
下一页
按字母分类:
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
其他