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
share_ptr使用注意事项
1避免同一块内存绑定到多个独立创建的
shared_ptr
上,因此要不使用相同的内置指针初始化(或reset)多个智能指针,不要混合使用智能指针和普通指针,坚持只用智能指针。
zhubaohua_bupt
·
2020-09-16 00:05
C++
c++11之std::
shared_ptr
剖析
一、概述c++11中std::
shared_ptr
提供一种多个栈对象协作管理同一个堆对象的机制。以便在堆对象没有被引用的情况下将其free。
ypy9323
·
2020-09-16 00:36
boost
库与stl
C++11:再谈
shared_ptr
,以及
shared_ptr
参数传递以及构造细节
本文根据众多互联网博客内容整理后形成,引用内容的版权归原始作者所有,仅限于学习研究使用
shared_ptr
在boost库中已经有多年了,C++11又为其正名,把他引入了STL库,放到了std的下面,可见其颇有用武之地
zzhongcy
·
2020-09-16 00:20
C++
11
C++ 智能指针
shared_ptr
和 unique_ptr浅析
文章目录C++智能指针
shared_ptr
和unique_ptr浅析1.入门1.1思路1.2实现2.shared_ptr和unique_ptr2.1基本的规则2.2`
shared_ptr
`的使用2.3unique_ptr2.4
xdesk
·
2020-09-16 00:19
C++语言编程
c++
C++
shared_ptr
的模拟实现
一、
shared_ptr
的模拟实现我在之前的博客《智能指针》中有说过
shared_ptr
的原理,那么这篇博客,我们模拟实现一个
shared_ptr
,让大家能更好的理解它的原理。
镜中月ss
·
2020-09-16 00:17
C++
c++
Shared_ptr
简单实现
/*@author:wcx@task:
shared_ptr
实现*/#includeusingnamespacestd;namespaceP{templateclassShared_ptr{public:
苏大强太强了
·
2020-09-16 00:58
c++
[C++11]
shared_ptr
效率比较
我实现的网络库中使用了C++11中的shared_ptr.昨天做profile,发现很多CPU都消耗在
shared_ptr
上,所以打算看看
shared_ptr
的效率如何.实验是这样的,弄一个临时的
shared_ptr
weixin_34216196
·
2020-09-16 00:55
C++——智能指针
shared_ptr
的实现
起初,我最直观的设计想法,直接设计一个类:包含全部要素(对象,指针计数)。然后提供出去。1classCPoint2{3public:4CPoint(intxVal=0,intyVal=0):x(xVal),y(yVal){}5intgetX()const{returnx;}6intgetY()const{returny;}7voidsetX(intxVal){x=xVal;}8voidsetY(i
weixin_30871905
·
2020-09-16 00:55
c/c++
实现一个简单的
shared_ptr
翻看以前的代码的时候发现一个
shared_ptr
的简单实现。我记得是网上的一篇例子(好像改了一点),但是又懒得找出处了╮(╯▽╰)╭。觉得这份代码足以用来初步了解
shared_ptr
的实现了。
weixin_30378623
·
2020-09-16 00:56
C++ 之实现自己的
shared_ptr
/*shared_ptr.h文件*//*********************************************************>FileName:shared_ptr.h>Author:LiuShengxi>Mail:
[email protected]
>CreatedTime:2018年06月05日星期二15时35分48秒***********************
weixin_30332241
·
2020-09-16 00:22
c/c++
C++之
shared_ptr
总结
所以推荐先学习auto_ptr,再来学习
shared_ptr
。本博客的前两个就是auto_ptr的总结。希望感兴趣的朋友可以看看。
jqdy
·
2020-09-15 23:23
C/C++
【C++手撸代码】实现一个
shared_ptr
最近面试题有遇到这个题,让你手撸个
shared_ptr
参考:实现一个简单的
shared_ptr
智能指针原理及实现(1)
shared_ptr
写的很棒,学习一波。
yh_cheer
·
2020-09-15 23:23
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++
C++基础 - 智能指针
shared_ptr
的引用计数
智能指针
shared_ptr
的引用计数,详见代码及说明//
shared_ptr
的几种初始化方式shared_ptrp1;//nullshared_ptrp2=make_shared();//非null,
klbc
·
2020-09-15 23:38
C++基础
C++
C++智能指针
c++
指针
C++
shared_ptr
允许多个
shared_ptr
对象通过引用计数器管理同一块堆内存。
helpdoc
·
2020-09-15 23:37
C++
C++11
shared_ptr
C++ 智能指针
shared_ptr
模板实现原理
C++智能指针
shared_ptr
通过引用计数来管理指向的对象,不需要人工释放这篇博文主要是讲解了智能指针的实现原理,怎么实现引用计数#includeusingnamespacestd;namespaceshao_smart_point
2359_God
·
2020-09-15 23:20
C++
share_ptr使用
内存管理之share_ptr引子初始化sahred_ptr关于get()函数关于make_shared函数:
shared_ptr
的拷贝和赋值容器中的shared_ptr-记得用erease节省内存状态共享
sinat_39628214
·
2020-09-15 23:56
内存管理
C++ 智能指针的一个实现(基于模板和
Shared_ptr
)
基于
Shared_ptr
来实现,支持默认构造,拷贝构造,移动构造,引用计数器,注意智能指针中存放的指针地址一旦被一个智能指针对象托管以后,不要再直接拿此地址来初始化其他对象,否则会引发多次泄漏的问题。
sesiria
·
2020-09-15 23:41
C++
C++
shared_ptr
的实现
自己写了一个
shared_ptr
的实现。如有错漏,还望指摘。(PS:我最近突然在想,是不是应该用锁而不是原子类?因为原子类没办法和指针一起绑定成原子操作。
木凡辰
·
2020-09-15 23:53
C++学习笔记
c++
智能指针
智能指针剖析(
shared_ptr
实现)
为什么需要智能指针防止new的时候忘记进行delete,出现异常时,不会执行delete,造成内存泄露。所以诞生了智能指针。防止内存泄漏,毕竟资源即对象。泛型指针(1)指void*指针,可以指向任意数据类型,因此具有“泛型”含义。(2)指具有指针特性的泛型数据结构,包含泛型的迭代器、智能指针等。广义的迭代器是一种不透明指针,能够实现遍历访问操作。通常所说的迭代器是指狭义的迭代器,即基于C++的ST
Tisen.H.S
·
2020-09-15 23:53
C++
源码分析
shared_ptr
实现
智能指针的种类unique_ptrshared_ptrweak_ptr关于智能指针使用以及区别可以自行查找资料,这里主要介绍智能指针的实现原理
shared_ptr
的实现我们平时看文档都知道
shared_ptr
程序喵大人
·
2020-09-15 23:35
c++
智能指针
shared_ptr
的实现
提供的智能指针包括auto_ptr、unique_ptr、weak_ptr、
shared_ptr
几中。其中auto_ptr最弱,建议不要使用。
MostHandsomeWang
·
2020-09-15 23:46
c/c++
shared_ptr
原理分析及实现
原理分析内存管理历来是C++编程的一项需要小心费力气的活,因为C++本身不带GC机制,所有的内存管理都需要我们手动实现,从malloc/free到new/delete,再到allocator的出现,无非都是为了更合理简单的避免内存泄露。指针本身是一个用法十分灵活并且功能强大的工具,然而它对内存的直接掌控也使得它不得不常常背起内存泄露的黑锅,因为忘记删除指针或者将一个指针删除两次的错误往往十分隐蔽,
peng864534630
·
2020-09-15 23:28
STL
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
使用最大误区
#include#includeusingnamespacestd;intmain(){int*p5=newint;std::shared_ptrp6(p5);std::shared_ptrp7(p5);//logicerrorreturn0;}这样一个代码,很多人都说有问题,可是我用了好几个编译器编译执行,都一点问题也没有,为什么
ptCsdn1212
·
2020-09-15 23:54
借助
shared_ptr
实现copy-on-write以提高多线程并发性能
锁竞争是服务器性能四大杀手之一(其他三个是:数据拷贝、环境切换、动态资源申请),本文将基于之前发布的kimgbo网络I/O库,以一个多线程群发聊天服务器的实现为例,介绍如何借助
shared_ptr
提高多线程并发的性能
kimg_bo
·
2020-09-15 23:11
Linux服务器端
shared_ptr
循环引用问题以及解决办法
栗子#include#includeclassCB;classCA{public:CA(){std::cout&ptr){m_ptr_b=ptr;}voidb_use_count(){std::coutm_ptr_b;};classCB{public:CB(){std::cout&ptr){m_ptr_a=ptr;}voida_use_count(){std::coutm_ptr_a;};void
Ruo_Xiao
·
2020-09-15 23:06
C/Cpp
/
11
14
……
C++ 智能指针
shared_ptr
的实现
转自:http://www.cnblogs.com/xuelisheng/p/9739812.html#include#includeusingnamespacestd;templateclasssmart{private:T*_ptr;int*_count;//referencecoutingpublic://构造函数smart(T*ptr=nullptr):_ptr(ptr){if(_ptr)
hp_cpp
·
2020-09-15 23:28
C++
shared_ptr
简单应用
shared_ptr
是C++共享指针,往往应用在动态分配内存的场景下。
祁连山牧羊人
·
2020-09-15 22:49
C++
primer
11学习
shared_ptr
的相关使用
shared_ptr
简介
shared_ptr
是一个**标准的共享所有权的智能指针。**它允许多个指针指向同一个对象,定义在memory文件内,命名空间为std。
WhiteJunior
·
2020-09-15 22:46
Interview
Preparation
C/C++
Self-Culture
Piecemeal
Knowledge
C++智能指针
shared_ptr
的实现
shared_ptr
的实现智能指针对象中引用计数是多个智能指针对象共享的,两个线程中智能指针的引用计数同时++或–,这个操作不是原子的,引用计数原来是1,++了两次,可能只实际只有一个加生效了,引用计数是
loreal8
·
2020-09-15 22:41
C++
学习笔记:
shared_ptr
陷阱
条款1:不要把一个原生指针给多个
shared_ptr
管理int*ptr=newint;shared_ptrp1(ptr);shared_ptrp2(ptr);//logicerrorptr对象被删除了2
liuzhi1218
·
2020-09-15 22:37
C++
对unique_ptr与
shared_ptr
为nullptr时, 删除器的调用机制疑惑
=nullptr,删除器被调用std::unique_ptrpUniquePtr2(newint(5),unique_deleter);//
shared_ptr
==nullptr,删除
清海风缘
·
2020-09-15 22:05
C++
c++
shared_ptr
指针实现
#include#include#includetemplateclassshared_ptr;templateshared_ptr&make_shared(TTs){
shared_ptr
*ss=newshared_ptr
一技旁身
·
2020-09-15 22:02
c++
c++11智能指针(二):
shared_ptr
和自定义的Deleter
本节讨论怎样使用std::
shared_ptr
自定义Deleter.当一个
shared_ptr
对象超出作用域时,其析构函数被调用,在析构函数中,将其引用计数减1,如果引用计数的值变为0,则删除关联的原始指针
小麒麟666
·
2020-09-15 22:01
c/c++
C++11智能指针
C++11的
shared_ptr
有可能导致函数调用栈溢出
ConcurrencyinAction这本书提及的几个版本stack数据结构的实现,其中lockfree版本的实现时,需要精巧的内存回收机制,其中在介绍countreference内存回收机制时,作者认为
shared_ptr
风划雪月
·
2020-09-15 22:51
C++
[C++11]_[初级]_[
shared_ptr
的使用场景]
场景C++11之前,使用auto_ptr只能适用于new出来的对象,为此我还专门创建了一些工具类来释放对象.使用智能指针的方式释放malloc出来的堆空间,C++11出现后可以使用
shared_ptr
来管理
infoworld
·
2020-09-15 22:58
C++语言特性和标准库
智能指针原理分析与自己的
shared_ptr
实现
原理分析内存管理历来是C++编程的一项需要小心费力气的活,因为C++本身不带GC机制,所有的内存管理都需要我们手动实现,从malloc/free到new/delete,再到allocator的出现,无非都是为了更合理简单的避免内存泄露。指针本身是一个用法十分灵活并且功能强大的工具,然而它对内存的直接掌控也使得它不得不常常背起内存泄露的黑锅,因为忘记删除指针或者将一个指针删除两次的错误往往十分隐蔽,
ye_create
·
2020-09-15 22:54
C++
实践
C++智能指针:
shared_ptr
实现详解
文章目录
shared_ptr
描述声明作用原理实现函数使用关于
shared_ptr
循环引用问题
shared_ptr
描述声明
shared_ptr
属于C++11特性中新加的一种智能指针,它的实现方式是模版类,
v-code
·
2020-09-15 22:57
#
编程语言:C++
编程语言
C++Primer :第十二章:
shared_ptr
和new的结合使用
shared_ptr
和new的结合使用如果我们不初始化一个智能指针,它就会被初始化为一个空指针,我们可以用new返回的指针来初始化智能指针接受指针参数的智能指针构造函数是explicit的。
不会code的菜鸟
·
2020-09-15 21:49
C++学习笔记
std::
shared_ptr
析构过程剖析
上篇文章介绍了
shared_ptr
对象构造,这篇文章记录其析构过程。
ypy9323
·
2020-09-15 21:29
boost
库与stl
C++基础 - 智能指针
shared_ptr
和 new 结合使用
//
shared_ptr
和内置指针结合使用,慎重voidprocess(shared_ptrptr){coutp1=newint(1024);//错误,explicit构造函数,不能进行隐式转换shared_ptrp2
klbc
·
2020-09-15 21:56
C++智能指针
C++
C++基础
c++
指针
5.5c++:
shared_ptr
使用场景,陷阱、性能分析,使用建议(转载)
shared_ptr
使用场景#include#include#includeusingnamespacestd;shared_ptrcreate(intvalue){returnmake_shared(
You图碧
·
2020-09-15 21:39
c++转载
浅谈
shared_ptr
及
shared_ptr
涉及到的循环引用问题
起初在C++标准库里面是没有智能指针的,直到C++11才加入了
shared_ptr
和unique_ptr以及weak_ptr。
小葱1024
·
2020-09-15 21:01
c++语言
计数智能指针要点(
shared_ptr
)
引言:与java等众多支持GC的现代语言不同,C/C++将更多的内存控制权交给程序员,在保证效率的同时,也给了很多犯错的机会。常见的内存泄露、重复释放等等。智能指针大大减少了犯错的机会,简化代码,提高可维护性。常用的智能指针有scope_ptr(c++11unique_ptr),利用RAII特性,保证资源在作用域失效的时候被释放,也保证异常抛出时栈回滚能够释放资源;引用计数智能指针(shared_
cd2108006026
·
2020-09-15 21:40
boost-asio
shared_ptr
的使用和陷阱
shared_ptr
的使用分配内存make_shared//make_shared分配一块int类型大小的内存,并值初始化为100//返回值是
shared_ptr
类型,因此可以直接赋值给spshared_ptrsp
River_Lethe
·
2020-09-15 21:55
C++
Primer
读书笔记
shared_ptr
使用时的陷阱
1:不要把一个原生指针给多个
shared_ptr
管理int*ptr=newint;shared_ptrp1(ptr);shared_ptrp2(ptr);//logicerrorptr对象被删除了2次
键盘小王子
·
2020-09-15 21:15
c++
指针
c++
设计模式
编程语言
java
为什么使用std::make_shared
本文首发于公众号CPP编程目录为什么使用std::make_shared减少重复代码效率更高异常安全为什么使用std::make_sharedstd::
shared_ptr
是常用的智能指针,建立一个
shared_ptr
SuWanWorld
·
2020-09-15 16:42
C++进阶
c++
C++11使用make_shared的优势和劣势
C++11中引入了智能指针,同时还有一个模板函数std::make_shared可以返回一个指定类型的std::
shared_ptr
,那与std::
shared_ptr
的构造函数相比它能给我们带来什么好处呢
yagerfgcs
·
2020-09-15 15:40
#
01-C&C++
上一页
10
11
12
13
14
15
16
17
下一页
按字母分类:
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
其他