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
shared_ptr
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++
简单理解RAII(C++)
2.RAII的分类RAII对资源分配的所有权可分为常性类型和变性类型,代表为boost:
shared_ptr
(一个指针指向
I_l_I
·
2020-08-14 21:15
C++
muduo_net代码剖析之TcpConnection
TcpConnection是muduo里唯一默认使用
shared_ptr
来管理的class,也是唯一继承enable_shared_from_this的类,这源于其模糊的生命期。
guojawee
·
2020-08-14 21:02
Muduo库源码剖析
boost weak_ptr使用
weak_ptr被设计为
shared_ptr
的助手,可以从一个
shared_ptr
或者另一个weak_ptr对象构造,获得资源的观测权,但是weak_ptr没有去共享资源,它的构造不会引起指针引用计数的增加
Anderson1990
·
2020-08-14 20:06
boost
指针容器: boost::ptr_vector ptr_container
多数时候,这些对象要存储在容器里——如上所述——使用boost::
shared_ptr
和boost::shared_array这就相当简单了。
Rain-晴天
·
2020-08-14 19:43
C++11 信号槽 signal/slot
一、首先说一下
shared_ptr
的线程安全性,它的线程安全性级别和std::string是一样的。它的计数操作是原子操作,但是多线程对它的并发读写是
p2016
·
2020-08-14 18:06
C++
多线程
c++ poco 智能指针AutoPtr 源码剖析
C++中智能指针,如C++11中的
shared_ptr
等。通过把堆上对象的委托给智能指针(智能指针本身可以看成是一个栈对象),并在智能指针内部实现引用计数,当引用计数为0时,删除堆对象,
LN-Curiosity
·
2020-08-14 18:19
c++
poco
library
c++
poco
学习和分析
【muduo】线程安全的对象生命期管理
文章目录一、当析构函数遇到多线程二、对象的创建很简单三、销毁太难四、原始指针有何不妥五、神器
shared_ptr
/weak_ptr1、
shared_ptr
的关键点2、
shared_ptr
的线程安全六、系统地避免各种指针错误七
lx青萍之末
·
2020-08-14 17:15
#
Muduo网络库
【muduo】net篇---TcpConnection
TcpConnection是使用
shared_ptr
来管理的类,因为它的生命周期模糊。TcpConnection表示已经建立或正在建立的连接,建立连接后,用户只需要在上层类如TcpServe
lx青萍之末
·
2020-08-14 17:15
#
Muduo网络库
boost库在工作(11)引用计数的智能指针weak_ptr
由于boost库里的
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】boost::shared_from_this值得注意的地方
shared_from_this()在一个类中需要传递类对象本身
shared_ptr
的地方使用shared_from_this函数来获得指向自身的
shared_ptr
,它是enable_shared_from_this
Hacker_NO_1
·
2020-08-14 16:41
boost
boost
记下c++线程一些理解问题
1.构造函数不放出this指针即可2.成员函数加锁3.析构函数用
shared_ptr
创建该对象。未完待续-----------
苏州-青蛙
·
2020-08-14 15:48
c++
智能指针boost::weak_ptr 详解
2、boost::weak_ptr详解智能指针boost::scope_ptr和智能指针boost::
shared_ptr
就完全可以解决所有单个对象内存的管理问题。
扎扎实实写代码
·
2020-08-14 15:11
boost库
c/c++
boost
手撕一个
shared_ptr
吧
智能指针的优点不多赘述,前面的文章已经说过。这次直接手撕一个智能指针的代码顺便帮助自己理解一下智能指针的使用。首先,智能指针有几个注意点:智能指针适用于各类型参数,所以要用T模板;智能指针有引用计数,所以在构造和析构的时候要进行引用计数的加减;需要重载指针的“->”“*”功能,使其能像正常指针一样使用;主要是析构函数的不同之处在于加个条件判断好,那我们开始吧:classShared_mptr{pu
闫++
·
2020-08-13 23:30
C++11引入智能指针std::unique_ptr
包含头文件命名空间:std/*不是std::tr1*/我们知道auto_ptr通过复制构造或者通过=赋值后,原来的auto_ptr对象就报废了.所有权转移到新的对象中去了.而通过
shared_ptr
可以让多个智能指针对象同时拥有某一块内存的访问权
Linux菜_鸟
·
2020-08-12 13:42
C++基础
c++ 智能指针用法详解
本文介绍c++里面的四个智能指针:auto_ptr,
shared_ptr
,weak_ptr,unique_ptr其中后三个是c++11支持,并且第一个已经被c++11弃用。
shuangshuang37278752
·
2020-08-12 12:25
C++
【C++11新特性】 C++11智能指针之
shared_ptr
在新标准中,主要提供了
shared_ptr
、unique_ptr、weak_ptr三种不同类型的智能指针。
Fred^_^
·
2020-08-11 20:29
C++拾遗
PCL入门使用Region growing进行平面分割
话不多说直接上代码:pcl::search::Search::Ptrtree=boost::
shared_ptr
>(newpcl::search::KdTree);pcl::PointCloud::Ptrnormals
蒙特卡洛家的树
·
2020-08-10 21:04
PCL
C++ 智能指针
内存泄漏什么是内存泄漏内存泄漏的危害内存泄漏分类如何避免内存泄漏智能指针的使用及原理RAII智能指针的原理std::auto_ptrstd::unique_ptrstd::shared_ptrshared_ptr的线程安全std::
shared_ptr
e我所欲也
·
2020-08-10 20:57
c++
C++智能指针详解
包括:std::auto_ptr、boost::scoped_ptr、boost::
shared_ptr
、boost::
mxdxm8899
·
2020-08-10 10:43
C++
Go语言内存回收机制GC
,如果没有进行及时的释放,则会造成内存泄漏常见的GC方式有如下三种引用计数:对每一个对象维护一个引用计数,当引用该对象的对象被销毁的时候,引用计数减1,当引用计数为0的时候,怎回收该对象,比如c++的
shared_ptr
冰释物语
·
2020-08-10 09:29
golang
学习
【C++】令operator= 返回一个reference to *this
中条款10中,令operator=返回一个referenceto*this,说这个是协议,并没有强制性,这个协议被所以内置类型和标准程序库提供的类型如string,vector,complex,tr::
shared_ptr
Shwan_Ma
·
2020-08-10 07:55
c++
boost asio 连接管理11 如何关闭连接
shared_ptr
管理连接对象的生命周期
shared_ptr
的引用计数器决定了连接对象的生命周期。这里我说的连接对象就是在我的前文:http://blog.cs
在意一下
·
2020-08-10 06:17
shared_ptr
造成的循环引用&&解决方法和原理(弱引用&&强引用)
弱用指针的方式解决
shared_ptr
造成的循环引用防止内存泄漏!
ycz_csdn
·
2020-08-10 05:28
C/C++语言
深入理解C++及数据结构
std::
shared_ptr
和 std::weak_ptr引用计数的循环引用问题
weak_ptr是一种不控制对象生命周期的智能指针,它指向一个
shared_ptr
管理的对象.进行该对象的内存管理的是那个强引用的shared_ptr.weak_ptr只是提供了对管理对象的一个访问手段
telnetipc
·
2020-08-10 01:51
其他
弱引用weak_ptr 解决
shared_ptr
的循环引用
循环引用:引用计数是一种便利的内存管理机制,但它有一个很大的缺点,那就是不能管理循环引用的对象。一个简单的例子如下:classparent;classchildren;typedefshared_ptrparent_ptr;typedefshared_ptrchildren_ptr;classparent{public:~parent(){std::coutchildren;children_pt
崖间松
·
2020-08-09 21:22
cpp
基础
std::
shared_ptr
和 std::weak_ptr的用法以及引用计数的循环引用问题
在std::
shared_ptr
被引入之前,C++标准库中实现的用于管理资源的智能指针只有std::auto_ptr一个而已。
北雨南萍
·
2020-08-09 20:23
语言:
C++
Android C++的sp指针简介
而且指针也不具备构造函数和析构函数,所以为了实现内存(动态存储区)的安全回收,必须对指针进行一层封装,而这个封装就是智能指针,c++的智能指针有很多实现方式,有auto_ptr,unique_ptr,
shared_ptr
埃斯丶
·
2020-08-09 18:20
C++
boost-pretty-printer配置及问题
环境ubuntu14.0464bitsgdb版本:7.x配置初衷是想查看
shared_ptr
的值,事实上在gdb的命令行输入:infopretty-printer我gdb版本是支持std::shared_pt
NearXDU
·
2020-08-09 16:26
学习经验
shared_ptr
简单实现
templateclassShared_ptr{public:
Shared_ptr
():count(newunsignedint(1)),val(newT()){}
Shared_ptr
(T*p):count
vloai
·
2020-08-09 13:29
c++类成员指针变量使用心得
shared_ptr
要求必须初始化。这样当对象复制之后,智能指针指向了同一片内存,引用自动计数,析构没有问题。但在不同进程间复制的时候会出现问题。不同进程指向了同一片内存。如果不使用智能指针。
慕容飞云
·
2020-08-08 16:47
编程设计
智能指针 与 shared_from_this 源码解析
背景智能指针的种类
shared_ptr
的实现_M_use_count是如何加减的?为何使用智能指针管理对象,基类析构函数不是虚函数也会调用子类析构函数?
疯狂的大伟
·
2020-08-08 01:20
c++
多态
编程语言
一个关于-std=c++11还是c++14的小问题
今天学C++11看到了
shared_ptr
,准备写一些测试代码来学习一下。
ZgZeQi
·
2020-08-07 22:51
C++
C++面经总结
3.智能指针:C++11新增了std::
shared_ptr
、std::weak_ptr等类型的智能指针
Pannie_zhang
·
2020-08-07 07:58
c++
shared_ptr
shared_ptr
是一个最像指针的"智能指针",是boost.smart_ptr库中最有价值、最重要的组成部分,也是最有用的,Boost库的许多组件--甚至还包括其他一些领域的智能指针都使用了
shared_ptr
笑对人生
·
2020-08-06 13:55
std::
shared_ptr
及std::unique_ptr使用数组注意事项
1智能指针类为了更容易(同时也更安全)地使用动态内存,新的标准库提供了两种智能指针(smartpointer)类型来管理动态对象。智能指针的行为类似常规指针,重要的区别是它负责自动释放所指向的对象。新标准库提供的这两种智能指针的区别在于管理底层指针的方式:sharedptr允许多个指针指向同一个对象;uniqueptr则“独占”所指向的对象。上图中的get()可以获取智能指针中保存的指针,需要注意
WJsuperrunner
·
2020-08-05 20:25
C++
C++ 共享指针
shared_ptr
shared_ptr
由于C++不像java一样有自动回收内存机制,new对象后,都要手动的delete掉,当程序员忘记delete的时候,可能会发生访问内存异常错误。
小佳09
·
2020-08-05 12:05
C++
共享指针(
shared_ptr
)对于类的拷贝/赋值带来的好处
1.不使用共享指针的情况#include#include#includeclassA{public:A(){std::couta_ptr_;A*a_ptr_;};intmain(){std::cout#includeclassA{public:A(){std::cout();}B(B&b):a_ptr_(b.a_ptr_){std::couta_ptr_;};intmain(){std::cout
weixin_41040683
·
2020-08-05 11:18
c++
编程基础
std::
shared_ptr
的简单实现
#ifndefSTD_SHAREDPTR_H#defineSTD_SHAREDPTR_H#include#includeusingnamespacestd;templateclassMy_SharedPtr{My_SharedPtr():count_(newsize_t),ptr_(nullptr){}My_SharedPtr(T*ptr):count_(newsize_t),ptr_(ptr){
aiYuqiong
·
2020-08-05 11:47
转一篇
shared_ptr
的小文
共享指针(
shared_ptr
)是现在的Boost库中提供的,并且应该是将来C++1x的标准库中提供的一个模板类。在此之前,ISO/IEC14882:2003标准库中
第八个猴子
·
2020-08-05 11:24
shared_ptr
(共享指针)使用总结
使用时是分为两段使用,一段是在hashmap中取出里面的map,第二段是在里层的map中查找key,这在多线程运行时有可能出现在取出里层map的引用后,重新加载数据并且释放掉现在的hashmap,这个场景引起了我对
shared_ptr
desionwang
·
2020-08-05 11:15
编程
std::
shared_ptr
std::share_ptr允许多个指针执行同一个对象当指向对象的最后一个
shared_ptr
被销毁时,share_ptr类会自动销毁此对象。
master-dragon
·
2020-08-05 10:45
C++
c++11智能指针(三):
shared_ptr
和指针
本节对比一下C++11智能指针的实现
shared_ptr
和普通的指针从以下几个方面比较:++,--和[]操作符相比于原始指针,
shared_ptr
只提供这些运算符:1)->,*2)比较运算符但是,
shared_ptr
小麒麟666
·
2020-08-05 10:10
c/c++
C++11智能指针
C++11智能指针(一):
shared_ptr
介绍与实例
什么是std::
shared_ptr
是c++11中引入的一种智能指针,它足够聪明,如果指针不在任何地方使用,就会自动删除指针。这可以帮助我们彻底消除内存泄露和悬挂指针的问题。
小麒麟666
·
2020-08-05 10:10
c/c++
C++11智能指针
C++智能指针
shared_ptr
使用实例
其中
shared_ptr
是专门管理那些可能被多个地方用到的指针的类。C++11中智能指针的头文件是:#includeshared_ptr有什么用?我们知道new和delete是需要一一对应的。
图形跟班
·
2020-08-05 10:38
C++
C++智能指针
shared_ptr
的三种使用方式
智能指针通常是指基于引用计数的智能指针,在c++11标准中就是std::
shared_ptr
。它的特点是如果可以安全的放入STL容器中。
老樊Lu码
·
2020-08-05 10:47
C++
C/C++/C#开发实战365
std::
shared_ptr
详解
一、介绍
shared_ptr
是一种智能指针(smartpointer),作用有如同指针,但会记录有多少个shared_ptrs共同指向一个对象。
darkGer
·
2020-08-05 10:38
c++11
上一页
14
15
16
17
18
19
20
21
下一页
按字母分类:
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
其他