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
【QT】qt的智能指针
std::
weak_ptr
:用来监视shared_ptr的生命周期,它不管理shared_ptr内部的指针,它的拷贝析构都不会影响引用计数,
我不是程序猿儿
·
2023-12-30 00:04
QT之路
qt
开发语言
c++11特新:弱引用智能指针
弱引用智能指针std::
weak_ptr
可以看做是shared_ptr的助手,它不管理shared_ptr内部的指针。
想不出来_6
·
2023-12-23 23:13
c++
开发语言
笔记
Linux多线程服务端编程:使用muduo C++网络库 学习笔记 第八章 muduo网络库设计与实现(下)
TimerQueue::cancel()的一种简单实现是用shared_ptr来管理Timer对象,再将TimerrId定义为
weak_ptr
,这样几乎不用我们做什么事情。
吃着火锅x唱着歌
·
2023-12-23 14:26
C++网络库
linux
c++
网络
条款20 当share_ptr悬空用
weak_ptr
weak_ptr
主要是监视问你有没有资源但是没有资源的所有权share_ptr是有所有权下面是循环引用的例子
小凡子空白在线学习
·
2023-12-21 13:31
c++
C++面向对象(OOP)编程-智能指针
本文旨在通过比较简单的语言理解智能指针,区分三种智能指针shared_ptr、unique_ptr、
weak_ptr
。同时解决shared_ptr循环引用的问题。
发狂的小花
·
2023-12-20 06:04
C/C++精进之路
c++
开发语言
智能指针
裸指针与智能指针的线程安全问题
文章目录裸指针线程安全问题使用普通裸指针造成的问题shared_ptr和
weak_ptr
的解决问题shared_ptr的线程安全问题智能指针shared_ptr本身(底层实现原理是引用计数)是线程安全的智能指针指向的对象的线程安全问题
yhc166188
·
2023-12-18 03:07
c/c++
C++ 智能指针的正确使用方式
C++11中推出了三种智能指针,unique_ptr、shared_ptr和
weak_ptr
,同时也将auto_ptr置为废弃(deprecated)。
bob62856
·
2023-12-18 02:05
5.2 C++11堆内存管理:智能指针与垃圾回收
而是引入unique_ptr、shared_ptr、
weak_ptr
三个智能指针。参见C++11智能指针·语
小黑屋1024
·
2023-12-18 00:38
深入理解C++11新特性
C++11
c++系列:智能指针share_ptr,unique_ptr,
weak_ptr
share_ptr作用:相当于一个容器,托管堆指针,实现智能释放堆内存,支持同个堆指针被多个容器托管原理:利用容器临时变量的销毁,触发析构函数,将引用计数减少,引用计数为0则将堆指针安全释放初始化:share_ptrptrA(newA())//正确,堆指针为指向newA()的地址share_ptrptrA=(newA())//错误,没有这种构造函数share_ptrptrB(ptrA)//正确,p
流木_5928
·
2023-12-16 02:21
C++:智能指针[重点!]
目录一、关于智能指针1、引入智能指针2、RAII二、详述智能指针auto_ptrunique_ptrshared_tr循环引用
weak_ptr
定制删除器三、关于内存泄漏一、关于智能指针1、引入智能指针首先引入一个例子
青春_strive
·
2023-12-05 11:02
C++
c++
开发语言
波奇学C++:智能指针(二):auto_ptr, unique_ptr, shared_ptr,
weak_ptr
C++98到C++11:智能指针分为auto_ptr,unique_ptr,shared_ptr,
weak_ptr
,这几种智能都是为了解决指针拷贝构造和赋值的问题auto_ptr:允许拷贝,但只保留一个指向空间的指针
社交达人波奇酱
·
2023-12-04 14:37
波奇学c
c++
开发语言
标准库头文件:memory
1.常用变量unique_ptr//模板类,拥有独有对象所有权语义的智能指针shared_ptr//模板类,拥有共享对象所有权语义的智能指针,不会因为
weak_ptr
也指向同一个对象而引用计数加1weak_ptr
zhuikefeng
·
2023-12-04 13:23
C++学习
c++
shared_ptr
unique_ptr
Effective C++(四): 资源管理
文章目录一、智能指针驱动的RAII二、shared_ptr和
weak_ptr
三、如何复制RAII对象四、在资源管理类中应该提供对原始资源的访问函数为了防止忘记调用delete造成的内存泄露,我们应该尽可能让对象管理资源
NUS_Ryan
·
2023-12-03 01:57
effective
cpp
c++
C++中的智能指针有哪些?分别解决的问题以及区别?
1.C++中的智能指针有4种,分别为:shared_ptr、unique_ptr、
weak_ptr
、auto_ptr,其中auto_ptr被C++11弃用。
踏过山河,踏过海
·
2023-12-02 23:45
c/c++知识二次稳固
c++
C++内存管理——unique_ptr
1.概述本想将unique_ptr,shared_ptr和
weak_ptr
写在同一篇文章中,无奈越(废)写(话)越(连)长(篇),本着不给自己和读者太大压力的原则,最终决定分为三篇去描述它们(不是恶意凑文章数哦
HIT_055
·
2023-11-27 04:41
C++11的
weak_ptr
弱引用的智能指针
弱引用指针
weak_ptr
是用来监视shared_ptr的,不会使引用计数器加1,它不管理shared_ptr内部的指针,主要是为了监视shared_ptr的生命周期,更像是shared_ptr的一个助手
铲灰
·
2023-11-26 22:03
深入应用C++11
c++
开发语言
CCCCCCC指针CCCCC
本文介绍[shared_ptr/unique_ptr/
weak_ptr
]的使用,以及shared_ptr引用计数和
weak_ptr
弱引用计数。
lusic01
·
2023-11-24 22:20
java
jvm
开发语言
C++11智能指针shared_ptr,
weak_ptr
以及循环引用的问题
1.智能指针通常内存管理中存在以下问题:重复析构(释放)同一块内存导致程序运行崩溃例如,如果类中有指针成员,浅拷贝造成两个对象的指针成员指向同一个内存。当程序运行结束,一块内存被析构了两次。有些资源的内存被释放,但是其指针并未被修改指向。voidtest(){int*dp=newint[10];deletedp[];//忘记添加dp=nullptr;}上面这种情况导致后续万一在该函数使用了dp指针
来自比邻星
·
2023-11-24 16:53
C++
c++
c语言
智能指针
循环引用
【C++11】智能指针 {内存泄漏;RAII设计思想,智能指针的拷贝问题;auto_ptr;unique_ptr;shared_ptr &
weak_ptr
:线程安全问题,循环引用问题,定制删除器}
一、为什么需要智能指针?下面我们先分析一下下面这段程序有没有什么内存方面的问题?intdiv(){inta,b;cin>>a>>b;if(b==0)throwinvalid_argument("除0错误");returna/b;}voidFunc(){//1、如果p1这里new抛异常会如何?//2、如果p2这里new抛异常会如何?//3、如果div调用这里又会抛异常会如何?int*p1=newin
芥末虾
·
2023-11-23 11:59
C++
c++
指针
内存泄漏
线程安全
开发语言
智能指针
weak_ptr
的作用
利用
weak_ptr
从零开始学习的ZHL
·
2023-11-22 01:18
C++学习
《boost程序库完全开发指南》读书笔记
progress_timer,progress_display,date_time第三章:内存管理,智能指针smart_ptr库,scoped_ptr,scoped_array,shared_ptr,shared_array,
weak_ptr
海棠如醉
·
2023-11-20 17:10
编程语言
c++
【C++】智能指针
目录智能指针auto_ptr:scoped_ptrunique_ptr带引用计数的智能指针shared_ptr,
weak_ptr
智能指针的交叉引用(循环引用)问题多线程访问共享对象问题实现带引用计数的智能指针自定义删除器橙色不带引用计数的智能指针
努力学习的小马
·
2023-11-20 03:38
我的c++学习之路
c++
开发语言
当析构函数遇到多线程 ── C++中线程安全的对象回调
如何避免这种竞态条件是C++多线程编程面临的基本问题,可以借助boost的shared_ptr和
weak_ptr
完美解决。这也是实现线程安全的Observer
爱橙子的OK绷
·
2023-11-17 05:31
网络编程与多线程
多线程
C++11中智能指针的使用
share_ptr:共享的智能指针
weak_ptr
:配合share_ptr使用的弱指针unique_ptr:独占的智能指针2.智能指针用于动态数组的管理2.1unique_ptr管理动态数组unique_ptrup
大侠后花园
·
2023-11-14 17:00
C++基础
条款20:当std::shared_ptr可能悬空时使用std::
weak_ptr
自相矛盾的是,如果有一个像std::shared_ptr(见条款19)的但是不参与资源所有权共享的指针是很方便的。换句话说,是一个类似std::shared_ptr但不影响对象引用计数的指针。这种类型的智能指针必须要解决一个std::shared_ptr不存在的问题:可能指向已经销毁的对象。一个真正的智能指针应该跟踪所指对象,在悬空时知晓,悬空(dangle)就是指针指向的对象不再存在。这就是对s
娱乐界祖师爷
·
2023-11-12 03:35
Effective
Modern
C++
c++
算法
数据结构
C++智能指针:auto_ptr、unique_ptr、shared_ptr、
weak_ptr
一、智能指针介绍智能指针的作用是管理一个指针,因为存在以下这种情况:申请的空间在函数结束时忘记释放,造成内存泄漏。使用智能指针可以很大程度上的避免这个问题,因为智能指针是一个类,当超出了类的实例对象的作用域时,会自动调用对象的析构函数,析构函数会自动释放资源。所以智能指针的作用原理就是在函数结束时自动释放内存空间,不需要手动释放内存空间。智能指针主要用于管理在堆上分配的内存,它将普通的指针封装为一
尼古拉斯儿
·
2023-11-12 03:32
C/C++/汇编
c++
指针
C++智能指针的使用 shared_ptr
weak_ptr
unique_ptr
shared_ptrC++程序设计中使用堆内存是非常频繁的操作,堆内存的申请和释放都由程序员自己管理。程序员自己管理堆内存可以提高了程序的效率,但是整体来说堆内存的管理是麻烦的,C++11中引入了智能指针的概念,方便管理堆内存。使用普通指针,容易造成堆内存泄露(忘记释放),二次释放,程序发生异常时内存泄露等问题等,使用智能指针能更好的管理堆内存。C++里面的四个智能指针:auto_ptr,uniq
Advsance
·
2023-11-12 03:30
c++
开发语言
后端
C++智能指针的使用:shared_ptr、
weak_ptr
、unique_ptr的使用,使用案例说明。
系列文章目录本章内容:(1)shared_ptr、
weak_ptr
、unique_ptr的介绍(2)单独使用share_ptr造成的内存泄漏(3)shared_ptr和
weak_ptr
的配合使用文章目录系列文章目录前言一
暴躁茹
·
2023-11-12 03:00
C++基本知识
c++
开发语言
算法
C++ 中线程安全的对象回调
如何避免这种竞态条件是C++多线程编程面临的基本问题,可以借助boost的shared_ptr和
weak_ptr
完美解决。这也是实现线程安全的Observer
不可数的爱
·
2023-11-09 12:05
C++
c++11
线程安全
面向对象
迭代器
智能指针
C++11 shared_ptr类型智能指针学习
C++11有三种类型的智能指针,shared_ptr、unique_ptr以及
weak_ptr
;先学习shared_ptr类型;shared_ptr的定义位于头文件,并位于std命名空间中;T表示指针指向的具体数据类型
bcbobo21cn
·
2023-11-09 01:40
VC++
开发语言
C++
智能指针
shared_ptr
C++(20)——弱引用智能指针
weak_ptr
前言在正式介绍
weak_ptr
之前,我们先来回忆一下shard_ptr的一些知识,我们直到shared_ptr是采用引用计数的智能指针,多个shared_ptr实例可以指向同一个对象,并维护了一个共享的引用计数器
Dutkig
·
2023-11-08 22:55
c++
c++
objective-c
开发语言
【16】c++11新特性 —>弱引用智能指针
weak_ptr
(1)
定义std::
weak_ptr
:弱引用的智能指针,它不共享指针,不能操作资源,是用来监视shared_ptr中管理的资源是否存在。
<( ̄︶ ̄)Okay.
·
2023-11-08 22:55
c++11新特性
c++
开发语言
C++弱引用智能指针
weak_ptr
的用处
weak_ptr
也是一个引用计数型智能指针,但是它不增加对象的引用计数,即弱引用。
大胡子的艾娃
·
2023-11-08 22:25
C++高级编程
弱指针
weak_ptr
shared_ptr
智能指针
循环引用
C++之弱引用智能指针
weak_ptr
的验证
目录shared_ptr带来的问题:标准库
weak_ptr
弱引用验证:标准库中
weak_ptr
交叉引用的验证:shared_ptr带来的问题:在交叉引用时,会造成堆上资源无法释放的问题。
一声梧桐
·
2023-11-08 22:23
C++
c++
1024程序员节
[C++11]弱引用智能指针
weak_ptr
初始化和相关的操作函数
弱引用智能指针std::
weak_ptr
可以看做是shared_ptr的助手,它不管理shared_ptr内部的指针。
唐火
·
2023-11-08 22:53
[C++11]
c++
C++11
weak_ptr
智能指针
C++
weak_ptr
弱引用智能指针
weak_ptr
循环引用共享智能指针的助手弱引用智能指针的实现循环引用问题解决
weak_ptr
这个指针天生一副小弟的模样,也是在C++11的时候引入的标准库,它的出现完全是为了弥补它老大shared_ptr
悲伤土豆拌饭
·
2023-11-08 22:52
C++
c++
【17】c++11新特性 —>弱引用智能指针
weak_ptr
(2)
中为我们提供了一个模板类叫做std::enable_shared_from_this,这个类中有一个方法叫做shared_from_this(),通过这个方法可以返回一个共享智能指针,在函数的内部就是使用
weak_ptr
<( ̄︶ ̄)Okay.
·
2023-11-08 22:51
c++11新特性
c++
算法
开发语言
C++11新特性【智能指针与匿名函数】
目录前言智能指针shared_ptr共享的智能指针shared_ptr的基本用法使用shared_ptr要注意的问题
weak_ptr
弱引用的智能指针
weak_ptr
的基本用法
weak_ptr
返回this
co4chjoe
·
2023-11-08 16:32
c++
开发语言
【C++11新特性】智能指针
随后的编程体验中往往需要有更精致的机制,基于程序员的编程体验和BOOST库提供的解决方案,C++摒弃了auto_ptr,新增了三种智能指针:unique_ptr、shared_ptr和
weak_ptr
。
KID__1412_
·
2023-11-08 16:56
C++11新特性
c++
C++ shared_ptr 、
weak_ptr
具体实现分析
1、shared_ptr、weak_ptrshared_ptrshared_ptr采取引用计数来表示一块内存被几个智能指针所共享,当引用计数为0时,会自动释放该内存,避免了忘记手动释放造成的内存泄露问题。采用引用计数来管理内存对象的做法是Linux内核惯用的手法。weak_ptrweak_ptr设计的目的是为配合shared_ptr而引入的一种智能指针来协助shared_ptr工作,它只可以从一个
zzZhangYiLong
·
2023-11-06 01:03
C++新特性
c++
中间件
16.4
weak_ptr
简介、
weak_ptr
常用操作与尺寸问题
一、
weak_ptr
简介
weak_ptr
辅助shared_ptr进行工作;强指的就是shared_ptr,弱指的就是
weak_ptr
。
zzyzxb
·
2023-11-06 01:03
c++学习
c++
C++ | shared_ptr与
weak_ptr
文章目录前言一、shared_ptr与
weak_ptr
是什么?
大柳_
·
2023-11-06 01:32
C++
c++
智能指针 unique_ptr和
weak_ptr
unique_ptrunique_ptr和shared_ptr不同,unique_ptr不允许所指向的内容被其他指针共享,所以unique_ptr是不允许拷贝构造和赋值的。voiduse_uniqueptr(){//指向double类型的unique指针unique_ptrudptr;//一个指向int类型的unique指针unique_ptruiptr(newint(42));//unique不
恋恋风辰
·
2023-11-06 01:02
C++
c++
c语言
visual
studio
weak_ptr
智能指针的使用
目录一,
weak_ptr
变量的定义二,expired()成员函数三,lock()成员函数四,use_count()成员函数五,为什么要用
weak_ptr
一,
weak_ptr
变量的定义
weak_ptr
对象的构造有
猿来是码农
·
2023-11-06 01:02
#
智能指针
c++
shared_ptr和
weak_ptr
程序中需要管理各种各样的资源,为了避免内存泄露,必须确保在资源再也不需要时释放资源,智能指针提供了这一功能。C++标准提供了两大类智能指针,这里主要介绍shared_ptr。多个shared_ptr可以共享同一个资源,通过引用计数来计算资源被引用次数,并在最后一个拥有资源的shared_ptr被销毁时释放资源。1、shared_ptrshared_ptr定义在中,支持下列操作:函数作用shared
csdn_cjc
·
2023-11-06 01:29
C++标准库
c++
weak_ptr
介绍
本文转载于http://c.biancheng.net/view/7918.html 在C++98/03的基础上,C++11新标准引入了shared_ptr、unique_ptr以及
weak_ptr
这
YMWM_
·
2023-11-06 00:58
C++学习
weak_ptr用法
注意,注意,
weak_ptr
有坑
classTest{public:Test(){coutwp;{std::shared_ptrpInt(newTest);wp=pInt;}coutwp;{std::shared_ptrpInt(newTest);wp=pInt;}cout<<"----------1------------\n";if(wp.expired()){cout<<"不可用\n";}cout<
发如雪-ty
·
2023-11-06 00:26
C/C++基础
c++
c++11 智能指针 unique_ptr、shared_ptr与
weak_ptr
原文地址:https://www.cnblogs.com/lsgxeva/p/7788061.htmlC++11中有unique_ptr、shared_ptr与
weak_ptr
等智能指针(smartpointer
Caiaolun
·
2023-11-03 10:41
C++11之继承构造函数(using 声明)
regex_search、regex_replace)C++11之线程库(Thread、Mutex、atomic、lock_guard、同步)C++11之智能指针(unique_ptr、shared_ptr、
weak_ptr
林夕07
·
2023-11-02 20:24
#
C++11
c++
开发语言
数据结构
C++基础语法——智能指针
如何避免内存泄漏3.智能指针的使用及其模拟实现①RAII②智能指针的原理③std::auto_ptr模拟实现④std::unique_ptr模拟实现⑤std::shared_ptr模拟实现⑥std::
weak_ptr
轩轩曲觞阁
·
2023-11-02 16:30
c++
指针
c++
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他