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
shared_ptr与
weak_ptr
(解决循环引用)
那么
weak_ptr
是什么,应该怎么用呢?
weak_ptr
也是智能指针,但是比较弱,感觉没什么用。其实它的出现是伴随shared_ptr而来,尤其是解决了一个引用计数导致的问题:在存在
znzxc
·
2020-09-16 00:12
c++
shared_ptr使用
C++11提供了三种智能指针:std::shared_ptr,std::unique_ptr,std::
weak_ptr
,使用时需添
六月的雨唯你
·
2020-09-15 23:15
C++
C++智能指针 shared_ptr 与
weak_ptr
原理
注:源代码摘自GNUC++,除此之外为原创,转载请注明出处。欢迎关注[懒人漫说]公众号,分享Java、Android、C/C++技术,包括基础、自己遇到的问题解决过程。当然如果关注并留言问题的话,我们力所能及的话会帮你解决并回复哟。我们和你一样,是正在成长的程序员,我们也会分享自己的成长路上的感想,希望可以和你一起努力成长。//Copyright(C)2007-2016FreeSoftwareFo
storm_zy
·
2020-09-15 23:12
C++
智能指针shared_ptr的实现
提供的智能指针包括auto_ptr、unique_ptr、
weak_ptr
、shared_ptr几中。其中auto_ptr最弱,建议不要使用。
MostHandsomeWang
·
2020-09-15 23:46
c/c++
auto_ptr、shared_ptr、
weak_ptr
、scoped_ptr用法小结
auto_ptrauto_ptr是现在标准库里面一个轻量级的智能指针的实现,存在于头文件memory中,之所以说它是轻量级,是因为它只有一个成员变量(拥有对象的指针),相关的调用开销也非常小。下面的代码来自于VC++8.0里面的源码:里面有个auto_ptr_ref的数据结构,我们可以把它忽略,这个只是内部使用的代理结构,用于一些隐式的const变化,我们客户端代码通常不会直接使用到它。我们可以看
lollipop_jin
·
2020-09-15 23:28
c++
技术类
浅谈shared_ptr及shared_ptr涉及到的循环引用问题
起初在C++标准库里面是没有智能指针的,直到C++11才加入了shared_ptr和unique_ptr以及
weak_ptr
。
小葱1024
·
2020-09-15 21:01
c++语言
caffe代码阅读3:data_reader、internalthread以及blocking_queue的实现细节-2016.3.15
(1)data_reader.cpp首先介绍一下boost::
weak_ptr
;弱引用是为了解决shared_ptr在循环引用下的内存释放问题而产生的。弱引用当引用的对象活着的时候不一定存在。
xizero00
·
2020-09-14 03:18
c/c++
神经网络
boost
深度学习框架
caffe
weak_ptr
的作用及应用场景——shared_ptr的循环引用问题
https://blog.csdn.net/LLZK_/article/details/52431404
石院情歌小王子
·
2020-09-13 16:50
C++面试题
你会不会处理多线程中的对象管理?
文章目录前言多线程与线程安全对象的创建很简单对象的销毁与竞态条件shared_ptr/
weak_ptr
再聊聊C++内存安全前言本系列为《你会不会处理多线程中的XXXX》。
看,未来
·
2020-09-11 16:02
Linux服务器编程
指针
c++
多线程
内存泄漏
智能指针对比
、解决循环引用的问题:与
weak_ptr
一起使用。
weak_ptr
只引用不计数。、能做STL容器中的元素(2)、boost::scoped_ptr--离开作用域自动析构--独享控制权
一缕阳光a
·
2020-08-25 01:19
C++
boost
STL
【总结】【C++11】智能指针区别及进步小结(待补充)
https://www.jianshu.com/p/5e2000c3f6a7(根据此补充)智能指针的本质C++11在std::auto_ptr基础上新增了std::shared_ptr、std::
weak_ptr
Emiiya
·
2020-08-25 01:24
c++中的四种智能指针
原始指针:通过new建立的*指针智能指针:通过智能指针关键字(unique_ptr,shared_ptr,
weak_ptr
)建立的指针智能引出的目的是为了解决c++中内存空间管理的问题:1、申请的空间在函数结束时忘记释放
在座的各位都是高手
·
2020-08-25 01:14
c++学习
四种智能指针C++
C++里面的四个智能指针:auto_ptr,shared_ptr,
weak_ptr
,un
$0
·
2020-08-25 01:14
C++11智能指针的深度理解
首先有请c++智能指针们登场:std::auto_ptr、std::unique_ptr、std::shared_ptr、std::
weak_ptr
|auto_ptr(不要使用的指针)没有智能指针的c+
weixin_33827590
·
2020-08-25 01:06
几种智能指针及应用场景
xhu_eternalcc/article/details/23356159(C++学习之智能指针--auto_ptr、scoped_ptr、scoped_array、shared_ptr、shared_array、
weak_ptr
weixin_30483013
·
2020-08-25 01:57
【C++学习笔记】详解C++中的三种智能指针
包括:std::auto_ptr、boost::scoped_ptr、boost::shared_ptr、boost::
weak_ptr
。二、具体使用1、总括对于编译器来说,
virgofarm
·
2020-08-25 01:19
【c++学习笔记】
C++11新特性之智能指针
这一节将从用法上、内存存储上以及生存周期上,对unique_ptr,shared_ptr和
weak_ptr
做一个深入剖析。unique_ptr不共享它的指针。
LazyPeach
·
2020-08-25 01:11
C++
智能指针(零):分类及简单特性
前言智能指针的种类繁多,我听说过的就有这些:auto_ptr、shared_ptr、
weak_ptr
、unique_ptr、scoped_ptr、scoped_array、shared_array、intrusive_ptr
AlbertS
·
2020-08-25 01:40
C++
C++如何正确使用智能指针?看完这4个点你就明白了
C++11中推出了三种智能指针,unique_ptr、shared_ptr和
weak_ptr
,同时也将auto_ptr置为废弃(deprecated)。
c/c++教学学习
·
2020-08-25 01:38
c++编程
c语言
c++编程
c语言
C++智能指针
避免内存泄漏问题,也就是用栈来管理堆.C++标准中的智能指针包括std::auto_ptr(C++98),std::shared_ptr(C++11),std::unique_ptr(c++11),std::
weak_ptr
segment-fault
·
2020-08-25 01:13
C/C++
数据结构&算法
智能指针
unique_ptr
auto_ptr
shared_ptr
环形引用
几种智能指针的比较(std::auto_ptr、boost::scoped_ptr、boost::shared_ptr、boost::
weak_ptr
)
一、std::auto_ptrauto_ptr的构造函数接受原始指针作为参数,虽然它是一个对象,但是重载了operator*和operator->,可以把它用在大多数普通指针可用的地方。当退出作用域时,auto_ptr对象的析构函数会释放原始指针。例:intmain{auto_ptrp(newClassA);}二、boost::scoped_ptrscoped_ptr类摘要scoped_ptr的构
pinhole
·
2020-08-25 01:03
C++
C++四种智能指针小结
C++四种智能指针auto_ptr、scope_ptr、shared_ptr和
weak_ptr
。
e5Max
·
2020-08-25 00:45
C/C++
项目实战
C++的四种智能指针
C++的四种智能指针:auto_ptr,shared_ptr,
weak_ptr
,unique_ptr1.auto_ptr(C++11已弃用)2.unique_ptr(替换auto_ptr)3.shared_ptr4
SunSachin
·
2020-08-25 00:29
C++
c++里面的四种智能指针以及代码实现
C++里面的四个智能指针:auto_ptr,shared_ptr,
weak_ptr
,unique_ptr其中后三个是c++11支持,并且第一个已经被11弃用。
scut_yp
·
2020-08-25 00:27
c++
STL 智能指针
https://blog.csdn.net/k346k346/article/details/81478223STL一共给我们提供了四种智能指针:auto_ptr、unique_ptr、shared_ptr和
weak_ptr
weixin_30843605
·
2020-08-25 00:21
C++11中的四种智能指针
前言C++STL提供了四种智能指针:auto_ptr、unique_ptr、shared_ptr和
weak_ptr
。
LTQblog
·
2020-08-25 00:38
c++
C++ 四种智能指针详解
智能指针有四种,包括auto_ptr,shared_ptr,unique_ptr,
weak_ptr
,其中auto_ptr已经被C++11废弃,所以放在最后介绍。
Giser_D
·
2020-08-25 00:22
C++
Effective C++ 条款14 在资源管理类中小心copying行为
1.条款13导入RAII的观念:资源获取时机便是初始化时机,资源会在不需要的时刻被销毁,典型代表就是shared_ptr和
weak_ptr
,但是并非所有资源都是堆内存,例如外存和堆栈,在这种情况下,auto_ptr
ddzai7557
·
2020-08-24 12:15
c/c++
UE4 C++ 开发总结----1.智能指针
安全Reset可释放指针计数二、共享引用和共享指针的区别是共享指针可以为NULL,而共享引用不能为NULLUsage:三、弱指针共享指针常见的问题有空悬指针和循环引用,原理详见:《C++弱引用智能指针
weak_ptr
=程序喵=
·
2020-08-23 17:58
UE4
Linux平台 C++ shared_ptr和
weak_ptr
实现对象资源的管理
weak_ptr
也是一个引用计数型的智能指针,但是它不增加对象的引用计数,即弱(weak)引用。
CC 公众号: hw_cchang
·
2020-08-23 05:39
C++后台开发
面试3
lishun1422840684/article/details/1000136842.linux下的一些常用命令3.有哪些智能指针,有什么区别C++11中提供了三种智能指针,分别是shared_ptr,unique_ptr和
weak_ptr
很黑的黑
·
2020-08-22 12:27
笔试面试题
C++弱引用智能指针
weak_ptr
的用处
weak_ptr
也是一个引用计数型智能指针,但是它不增加对象的引用计数,即弱引用。
li27z
·
2020-08-21 19:59
C/C++
C++弱引用智能指针
weak_ptr
的用处
转自:原文链接:https://blog.csdn.net/leeds1993/article/details/54563918weak_ptr也是一个引用计数型智能指针,但是它不增加对象的引用计数,即弱引用。与之相对,shared_ptr是强引用,只要有一个指向对象的shared_ptr存在,该对象就不会析构,直到指向对象的最后一个shared_ptr析构或reset()时才会被销毁。利用wea
heary29
·
2020-08-21 17:04
C++
c++
如何拿到了腾讯后台offe ?
拥塞控制快重传快恢复MTU是什么,在哪一层,路径MTU解释大小端、字节对齐以及原因编译过程sizeof用途、阶段C++默认成员函数怎么禁止隐式转换智能指针循环引用,
weak_ptr
虚函数原理RAII,目的派生类指针转换为基类指针
键盘舞蹈者
·
2020-08-20 01:57
C语言
C++
面试经验
C++后端面试(3):智能指针||Android智能指针
智能指针在C++11版本之后提供,包含在头文件中,shared_ptr、unique_ptr、
weak_ptr
文章目录0.智能指针介绍0.1原理1.智能指针1.1shared_ptr2.unique_ptr3
CoomCon
·
2020-08-18 19:55
#
面试
智能指针——unique_ptr、
weak_ptr
文章目录1.shared_ptr1.特性2.reset()和release()3.特殊的拷贝和赋值4.向unique_ptr传递删除器2.weak_ptr1.shared_ptrunique_ptr也有于shared_ptr相同的用法:p、*p、p->get()、swap(),详情参见shared_ptr1.特性某一时刻,只能有一个unique_ptr指向一个给定的对象当unique_ptr被销毁
IT界的一大菜鸟
·
2020-08-17 02:57
C++
指针
内存管理
C++智能指针会引起异常的几种情况
解决方式:使用
weak_ptr
弱指针,从而不会修改引用计数的值,其类似一个普通指针,但不指向引用计数的共享内存,但是其可以检测到所管理的对象是否已经被释放,从而避免野指针非法访问。
即将拂晓
·
2020-08-16 22:27
笔记
详解c++动态内存new/delete、智能指针shared_ptr、unique_ptr、
weak_ptr
可编程内存基本上可分为以后三个大部分:静态存储区内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。保存局部static对象、类static数据成员以及任何定义在函数之外的变量(即全局变量或常量)。栈区在执行函数时,函数内局部非static变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。
王高1990
·
2020-08-16 15:47
c/c++
shared_ptr,
weak_ptr
源码解析
下面的代码是我在看了ubuntu16.04系统默认自带的stl源码后整理的shared_ptr和
weak_ptr
代码简洁版,为了容易理解去掉了一些基类,函数以及对多线程等情况的处理,对变量名和函数名也做了修改
shangming111
·
2020-08-16 08:33
c/c++
智能指针就这么简单
C++智能指针基础知识及其实现STL中的智能指针简介先定义一个类auto_ptr(T*)unique_ptr(T*)shared_ptr(T*)
weak_ptr
(T*)自己实现一个智能指针类模板成员变量构造函数
qq_30339595
·
2020-08-16 00:20
weak_ptr
的使用方法及意义
//
weak_ptr
的用处//创建时使用shared_ptr//使用是使用
weak_ptr
//防止互相应用导致析构失败#include#include#includeusingnamespacestd;
zhangxiaonanwin
·
2020-08-14 22:05
C++
Boost
《超越STL》代码
C++ boost库智能指针(三):
weak_ptr
weak_ptr
是shared_ptr得到协助者,可以观察shared_ptr是否过期,
weak_ptr
不改变引用计数,也不能使用*,->操作符,是一个很弱的智能指针。
令狐掌门
·
2020-08-14 22:01
C++
boost库开发教程
boost
weak_ptr
C++
Boost智能指针——
weak_ptr
循环引用:引用计数是一种便利的内存管理机制,但它有一个很大的缺点,那就是不能管理循环引用的对象。一个简单的例子如下:#include#include#include#includeclassparent;classchildren;typedefboost::shared_ptrparent_ptr;typedefboost::shared_ptrchildren_ptr;classparent{
weixin_33932129
·
2020-08-14 20:29
boost
weak_ptr
使用
weak_ptr
被设计为shared_ptr的助手,可以从一个shared_ptr或者另一个
weak_ptr
对象构造,获得资源的观测权,但是
weak_ptr
没有去共享资源,它的构造不会引起指针引用计数的增加
Anderson1990
·
2020-08-14 20:06
boost
建议慎用boost::
weak_ptr
来避免智…
如果让我说C/C++相比拥有GC机制的语言如Java,开发时感觉最大的不同是什么。我想繁琐易错的内存管理肯定会排在第一位。所以自从见到基于RAII的boost智能指针实现,觉得日子好过了很多呵呵。智能指针相比GC,优点很多:效率高计算代价低即时性好。但有一个很致命的缺陷:当存在循环引用的时候将会导致内存泄露。所以还是GC舒服啊。为了降低智能指针循环引用的可能性,boost智能指针引入了weak_p
Runyon1982
·
2020-08-14 19:30
c/cpp
C++11 信号槽 signal/slot
实现了一个线程安全的信号槽,还是利用智能指针的特性,一方面信号槽的多线程的读写是安全的,另一方面采用了弱回调技术(基于
weak_ptr
,槽的析构)。随手画了一张结构图,。
p2016
·
2020-08-14 18:06
C++
多线程
boost库在工作(11)引用计数的智能指针
weak_ptr
因此,就提出另外一个智能指针
weak_ptr
。这个智能指针只对引用的指针进行保存,但不增加引用指针的计数,因而它不对shared_ptr的指针具有拥有权,
caimouse
·
2020-08-14 16:16
学习boost
weak_ptr
的作用及应用场景——shared_ptr的循环引用问题
weak_ptr
是为了辅助shared_ptr而引入的一种智能指针,它存在的意义就是协助shared_ptr更好的完成工作,我们可以把它比做成一个秘书或助理。
LLZK_
·
2020-08-14 16:33
c/c++
Boost源码学习---weak_ptr.hpp
weak_ptr
是辅助shared_ptr的智能指针。就像它的名字一样,是个“弱”指针;仅有几个接口,仅能完成很少工作。
KangRoger
·
2020-08-14 16:30
Boost库学习
智能指针boost::
weak_ptr
详解
1、boost::
weak_ptr
简介boost::
weak_ptr
属于boost库,定义在namespaceboost中,包含头文件#include便可以使用。
扎扎实实写代码
·
2020-08-14 15:11
boost库
c/c++
boost
上一页
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
其他