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++ 智能指针用法详解
本文介绍c++里面的四个智能指针:auto_ptr,shared_ptr,
weak_ptr
,unique_ptr其中后三个是c++11支持,并且第一个已经被c++11弃用。
上流下流
·
2017-02-13 19:38
c++
C++弱引用智能指针
weak_ptr
的用处
weak_ptr
也是一个引用计数型智能指针,但是它不增加对象的引用计数,即弱引用。
li27z
·
2017-01-15 19:55
C/C++
C++11中的智能指针
主要有:unique_ptr,shared_ptr,
weak_ptr
。这3种指针组件就是采用了boost里的智能指针方案。
黑板报
·
2016-12-31 23:30
网上的好文章
日拾朝夕--12242016
每日一习今天看了Linux多线程编程第一章,就记住了
weak_ptr
,share_ptr的一点小区别。操作系统/数据库的精彩部分书中只提了一下,还得找这些书翻翻。每日一得我是有多关心国
sophietyl
·
2016-12-26 00:02
12-动态内存
#includeshared_ptr:允许多个指针指向同一个对象,每个指针都会记录有多少个其他指针指向相同的对象unique_ptr:某个对象只允许一个指针指向它
weak_ptr
:弱引用的伴随类,指向shared_ptr
龙遁流
·
2016-12-22 15:04
muduo库Thread类剖析
运用shared_ptr和
weak_ptr
做到了生命周期的管理。
FreeeLinux
·
2016-10-24 22:13
Muduo源码剖析
muduo源码剖析
Boost库使用总结
auto_ptr、shared_ptr、
weak_ptr
、scoped_ptr用法小结智能指针,与引用计数相关auto_ptr:主要为异常安全设计的,在程序正常退出或者异常终止,会调用类的析构函数,释放资源
huangjun1989
·
2016-09-29 21:05
后台开发
编程语言
boost库
shared_ptr循环引用&定置删除器
shared_ptr虽然方便,但是它有着一个致命的缺陷就是循环引用问题,因为shared_ptr本身并没有能力解决这个问题,所以我们又引入了弱指针
weak_ptr
来辅助shared_ptr解决这个问题。
我是你帆哥
·
2016-09-06 14:19
shared
ptr
循环引用
C++11新特性之智能指针(shared_ptr/unique_ptr/
weak_ptr
)
shared_ptr基本用法shared_ptr采用引用计数的方式管理所指向的对象。当有一个新的shared_ptr指向同一个对象时(复制shared_ptr等),引用计数加1。当shared_ptr离开作用域时,引用计数减1。当引用计数为0时,释放所管理的内存。这样做的好处在于解放了程序员手动释放内存的压力。之前,为了处理程序中的异常情况,往往需要将指针手动封装到类中,通过析构函数来释放动态分配
一根笨茄子
·
2016-08-08 10:29
weak_ptr
和intrusive_ptr
1、
weak_ptr
(1)、
weak_ptr
是为了配合shared_ptr而引入的智能指针,它更像是shared_ptr的一个助手,它不具有普通指针的行为,没有重载operator*和->,它的最大作用在于协助
汇天下豪杰
·
2016-07-31 12:14
C++
智能指针 VC版
1、智能指针VC版Linux下的STL2种智能指针boost库下的:scoped_ptr、scoped_array、shared_ptr、shared_array、
weak_ptr
、instrusive_ptr6
汇天下豪杰
·
2016-07-28 22:01
智能指针VC版
C++
C++ 智能指针(shared_ptr/
weak_ptr
)源码分析
C++11目前已经引入了unique_ptr,shared_ptr,
weak_ptr
等智能指针以及相关的模板类enable_shared_from_this等。
gigglesun
·
2016-05-29 18:00
当析构函数遇到多线程 ── C++中线程安全的对象回调
如何避免这种竞态条件是C++多线程编程面临的基本问题,可以借助boost的shared_ptr和
weak_ptr
完美解决。这也是实现线程安全的Observer
will130
·
2016-05-26 15:00
多线程
BOOST enable_shared_from_this
weak_ptr
:
weak_ptr
是为了配合shared_ptr而引入的一种智能指针,它更像是shared_ptr的一个助手而不是智能指针,因为它不具有普通指针的行为,没有重载operator*和->
qq51931373
·
2016-05-19 13:00
智能指针
weak_ptr
weak_ptr
是为了配合shared_ptr而引入的一种智能指针,它更像是shared_ptr的一个助手而不是智能指针,因为它不具有普通指针的行为,没有重载operator*和->,它的最大作用在于协助
ljlstart
·
2016-05-04 00:00
Effective C++: std::
weak_ptr
#include #include int main() { std::
weak_ptr
wp; std::shared_ptr sp1; std::shared_ptr sp2; sp1
SHIHUAMarryMe
·
2016-04-19 17:00
enabled_shared_from_this
#include //获得指向this的shared_ptr /*
weak_ptr
的一个重要用途是用来获得this的shared_ptr,使对象自己能够生产shared_ptr管理自己: */ /*
u013349653
·
2016-04-17 17:00
模拟实现auto_ptr、scoped_ptr、shared_ptr等智能指针
auto_ptr有缺陷,自己赋值给自己,会失效置空scoped_ptr解决了auto_ptr缺陷,防拷贝shared_ptr含有引用计数
weak_ptr
打破循环引用,不增加引用计数#include usingnamespacestd
wanglelelihuanhuan
·
2016-04-15 13:00
【C++】智能指针shared_ptr 定位删除器(仿函数)
1、引用计数更新存在着线程安全;2、循环引用--使用一个弱引用智能指针(
weak_ptr
)来打破循环引用(
weak_ptr
不增加引用计数)3、定置删除器和空间分配器比如打开一个文件的关闭,用malloc
威尼斯小艇
·
2016-03-24 21:48
智能指针
PTR
shared
智能指针
weak_ptr
weak_ptr
:
weak_ptr
是为了配合shared_ptr而引入的一种智能指针,它更像是shared_ptr的一个助手而不是智能指针,因为它不具有普通指针的行为,没有重载operator*和->
Kiritow
·
2016-03-20 15:00
C++
weak_ptr
caffe代码阅读3:data_reader、internalthread以及blocking_queue的实现细节-2016.3.15
(1)data_reader.cpp首先介绍一下boost::
weak_ptr
;弱引用是为了解决shared_ptr在循环引用下的内存释放问题而产生的。弱引用当引用的对象活着的时候不一定存在。
xizero00
·
2016-03-16 00:00
boost
caffe
深度学习框架
[C++11]_[初级]_[
weak_ptr
的使用场景]
只有调用lock()创建shared_ptr指针时才会引用实际对象.在lock()成功时会延长shared_ptr对象的生命周期,因为它递增了一个引用计数.在shared_ptr主指针结束后,如果std::
weak_ptr
infoworld
·
2016-03-04 00:00
循环引用
shared-ptr
weak-ptr
弱引用指针
弱指针
【C++11新特性】 C++11智能指针之
weak_ptr
原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/50772571如题,我们今天要讲的是C++11引入的三种智能指针中的最后一个:
weak_ptr
Xiejingfa
·
2016-03-01 15:00
C++
智能指针
weak-ptr
【C++11新特性】 C++11智能指针之
weak_ptr
原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/50772571如题,我们今天要讲的是C++11引入的三种智能指针中的最后一个:
weak_ptr
Xiejingfa
·
2016-03-01 15:00
C++
智能指针
weak-ptr
【C++11新特性】 C++11智能指针之shared_ptr
在新标准中,主要提供了shared_ptr、unique_ptr、
weak_ptr
三种不同类型的智能指针。
Xiejingfa
·
2016-02-26 15:00
C++
智能指针
shared-ptr
【C++11新特性】 C++11智能指针之shared_ptr
在新标准中,主要提供了shared_ptr、unique_ptr、
weak_ptr
三种不同类型的智能指针。
Xiejingfa
·
2016-02-26 15:00
C++
智能指针
shared-ptr
C++ Primer 学习笔记_56_STL剖析(十一)(原boost库):详解智能指针(unique_ptr(原scoped_ptr) 、shared_ptr 、
weak_ptr
源码分析)
主要有:unique_ptr,shared_ptr,
weak_ptr
。这3种指针组件就是采用了boost里的智能指针方案。
keyyuanxin
·
2016-02-19 11:00
C++
STL
shared_ptr,shared_ptr,enable_shared_from_this的理解
0.shared_ptr和
weak_ptr
的实现方案说明:该方案完全是我自己YY出来的,是为了方便自己的理解智能指针的。另外,也帮助理解enable_shared_from_this。
bluebbc
·
2016-02-18 15:00
Item 20: 使用std::
weak_ptr
替换会造成指针悬挂的类std::shared_ptr指针
本文翻译自《effectivemodernC++》,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢!矛盾的是,我们很容易就能创造出一个和std::shared_ptr类似的智能指针,但是,它们不参加被指向资源的共享所有权管理。换句话说,这是一个行为像std::shared_ptr,但却不影响对象引用计数的指针。这样的智能指针需要与一个对std::shared_ptr来说不存在的问题做斗争
boydfd
·
2016-02-05 10:00
C++
翻译
effective
Modern
2016年学习计划
)平台.项目周期:3-4个月1.Linux参考:陈硕的以及muduo网络库Step0熟悉boost智能指针、function/bind的使用在muduo库内部使用了boost::scoped_ptr,
weak_ptr
haolipengzhanshen
·
2016-02-02 10:00
网络
职业规划
boost
muduo
智能指针
weak_ptr
/*如果有需要转载的朋友,备注作者出处和添加关联的文章url,就可以转载*/ 一个强引用当被引用的对象活着的话,这个引用也存在(就是说,当至少有一个强引用,那么这个对象就不能被释放)。boost::share_ptr就是强引用。 相对而言,弱引用当引用的对象活着的时候不一定存在。仅仅是当它存在的时候的一个引用。弱引用并不修改该对象的引用计数,这意味这弱引用它并不对对象的内存进行管理,在
fanyunda1988
·
2016-02-01 14:00
详解Boost库智能指针(shared_ptr && scoped_ptr &&
weak_ptr
)
我们先来解释一下什么叫智能指针?智能指针是利用RAII(在对象的构造函数中执行资源的获取(指针的初始化),在析构函数中释放(delete指针):这种技法把它称之为RAII(ResourceAcquisitionIsInitialization:资源获取即初始化))来管理资源。其本质思想是:将堆对象的生存期用栈对象(智能指针)来管理。也就是当new一个堆对象的时候,立刻用智能指针来接管,具体做法是在
NK_test
·
2016-01-30 10:00
内存泄露
智能指针
shared_ptr
boost
scoped_ptr
C++四种智能指针小结
C++四种智能指针auto_ptr、scope_ptr、shared_ptr和
weak_ptr
。
e5Max
·
2016-01-23 12:00
C++
智能指针
shared-ptr
scope-ptr
Item 20: 使用std::
weak_ptr
替换会造成指针悬挂的类std::shared_ptr指针
本文翻译自moderneffectiveC++,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢!矛盾的是,我们很容易就能创造出一个和std::shared_ptr类似的智能指针,但是,它们不参加被指向资源的共享所有权管理。换句话说,这是一个行为像std::shared_ptr,但却不影响对象引用计数的指针。这样的智能指针需要与一个对std::shared_ptr来说不存在的问题做斗争:它
boydfd
·
2016-01-14 16:00
Item 20: 使用std::
weak_ptr
替换会造成指针悬挂的类std::shared_ptr指针
本文翻译自moderneffectiveC++,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢!博客已经迁移到这里啦矛盾的是,我们很容易就能创造出一个和std::shared_ptr类似的智能指针,但是,它们不参加被指向资源的共享所有权管理。换句话说,这是一个行为像std::shared_ptr,但却不影响对象引用计数的指针。这样的智能指针需要与一个对std::shared_ptr来说不
boydfd
·
2016-01-14 16:00
The C++ Standard Library --- A Tutorial Reference 读书笔记
例如:structX { inta; }; shared_ptrpx(newX); shared_ptrpi(px,&px->a);
weak_ptr
是shared-ptr的帮手,用来共享但
IT由零开始
·
2016-01-04 17:00
std::shared_ptr 和 std::
weak_ptr
的用法以及引用计数的循环引用问题
在std::shared_ptr被引入之前,C++标准库中实现的用于管理资源的智能指针只有std::auto_ptr一个而已。std::auto_ptr的作用非常有限,因为它存在被管理资源的所有权转移问题。这导致多个std::auto_ptr类型的局部变量不能共享同一个资源,这个问题是非常严重的哦。因为,我个人觉得,智能指针内存管理要解决的根本问题是:一个堆对象(或则资源,比如文件句柄)在被多个对
fireroll
·
2015-12-17 14:00
谈C++内存管理与智能指针
好在C98提供了标准支持了C++的一个模板类auto_ptr,还有C++11对auto_ptr的摒弃,以及boost库提供的一系列scoped_ptr,shared_ptr,
weak_ptr
,unique_ptr
zouzhipeng1717
·
2015-12-07 10:00
C++
C语言
STL
oc
智能指针
使用Boost库中的组件进行C++内存管理
auto_ptr,智能指针,部分的解决了获取资源自动释放的问题 在Boost中,提供了6中智能指针:scoped_ptr, scoped_array, shared_ptr, shared_array,
weak_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 的
Weak_Ptr
weak_ptr
的使用方法及意义 分类: C++ Boost 《超越STL》代码 2010-12-24 13:26 428人阅读 评论(0) 收藏
·
2015-11-12 18:18
boost
COM组件弱引用的简单实现(C++)
说明:我们知道boost用shared_ptr,
weak_ptr
实现了指针的智能化管理,使用它们可以防止C++常见的内存泄露问题。
·
2015-11-11 12:02
C++
shared_ptr与
weak_ptr
的例子
12.20 编写程序,逐行读入一个输入文件,将内容存入一个StrBlob中,用一个StrBlobPtr打印出StrBlob的每个元素。 StrBlob.h #ifndef STRBLOB_H #define STRBLOB_H #include<iostream> #include<string> #include<vector> #includ
·
2015-11-11 11:16
weak
Smart_ptr库
除了标准库提供的智能指针std::auto_ptr外,boost中存在六个智能指针:scoped_ptr,shared_ptr,intrusive_ptr,
weak_ptr
·
2015-11-11 08:16
tr
C++ 智能指针 C++11
包括:std::auto_ptr、std::shared_ptr、std::
weak_ptr
、
·
2015-11-11 03:01
C++
boost::share_ptr用法
boost中提供了几种智能指针方法:scoped_ptr shared_ptr intrusive_ptr
weak_ptr
,而标准库中提供的智能指针为auto_ptr.
·
2015-11-10 21:23
boost
【C++深入浅出】设计模式学习之观察者模式
前言 前两天学习了
weak_ptr
以后还是不甚明了,一则需要实际应用去锤炼,二来就是不懂观察者模式。
·
2015-11-07 11:08
观察者模式
现代C++学习笔记之一入门篇:智能指针(C++ 11)
原始指针:通过new建立的*指针 智能指针:通过智能指针关键字(unique_ptr, shared_ptr ,
weak_ptr
)建立的指针 在现代 C++ 编程中,标准库包含智能指针
·
2015-11-03 22:34
学习笔记
【STL学习】智能指针之
weak_ptr
简介
weak_ptr
是shared_ptr的观察者,它不会干扰shared_ptr所共享对象的所有权,当一个
weak_ptr
所观察的shared_ptr要释放它的资源时,它会把相关的
weak_ptr
·
2015-11-02 19:34
weak
【C++深入浅出】智能指针之auto_ptr学习
起: C++98标准加入auto_ptr,即智能指针,C++11加入shared_ptr和
weak_ptr
两种智能指针,先从auto_ptr的定义学习一下auto_ptr
·
2015-11-02 19:27
auto
上一页
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
其他