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
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
Boost库智能指针简析
(一)Boost库中,智能指针并不只
shared_ptr
一个。
fanyunda1988
·
2016-05-13 16:00
C++
C++智能指针详解
包括auto_ptr、scoped_ptr、
shared_ptr
、scoped_array、sha
qq_32400847
·
2016-05-13 14:00
Caffe错误boost::python::register_ptr_to_python
shared_ptr
> >();
今天在用Caffe-Microsoft可视化时遇到一个错误提示:Noto_python(by-value)converterfoundforC++type:boost::shared_ptrLayer>后来,查了不少资料终于解决了。这个问题的原因应该是boost版本的问题,我们需要修改caffe/python/caffe/_caffe.cpp源文件。注意:我这里提示的Layer的错误,那就只修改L
Sunshine_in_Moon
·
2016-05-12 10:00
shared_ptr
的线程安全性
shared_ptr
的线程安全级别和内建类型、标准库容器、std::string一样,即:•一个
shared_ptr
对象实体可被多个线程同时读取;•两个
shared_ptr
对象实体可以被两个线程同时写入
diaolingle
·
2016-05-11 23:00
shared_ptr
的用法
先看一个例子:#include #include #include usingnamespacestd; classA { public: A(){printf("Aconstructor\n");} ~A(){printf("Adestructor\n");} voidPrint(){printf("ThisisA\n");} }; int_tmain(intargc,_TCHAR*arg
diaolingle
·
2016-05-11 18:00
C++11尝鲜 之share_ptr
shared_ptr
是C++11是boost库实用也很重要的一个组件.管理动态创建的对象的销毁,它的基本原理就是记录对象被引用的次数,当引用次数为0的时候,也就是最后一个指向某对象的共享指针析构的时候
Kingbaiyulong
·
2016-05-05 16:00
智能指针 weak_ptr
weak_ptr是为了配合
shared_ptr
而引入的一种智能指针,它更像是
shared_ptr
的一个助手而不是智能指针,因为它不具有普通指针的行为,没有重载operator*和->,它的最大作用在于协助
ljlstart
·
2016-05-04 00:00
shared_ptr
shared_ptr
头文件:"boost/shared_ptr.hpp" 几乎所有稍微复杂点的程序都需要某种形式的引用计数智能指针。
·
2016-05-03 11:00
enable_share_from_this 模板类使用和完全解析
2013-11-28以前都没有用过enable_shared_from_this模板类,虽然经常遇到但是也没怎么去关注,今天抽时间好好学习了下enable_shared_from_this模板类,发现在使用
shared_ptr
linuxarmsummary
·
2016-04-28 17:00
shared_ptr
造成的循环引用&&解决方法和原理(弱引用&&强引用)
弱用指针的方式解决
shared_ptr
造成的循环引用防止内存泄漏!
yc2zgh1314
·
2016-04-28 00:00
循环引用
智能指针
shead_ptr
[C++]资源管理
1.以对象管理资源我们通常希望有一个对象来帮助我们解决资源管理的问题(自动调用析构函数),于是此章我们讨论auto_ptr和
shared_ptr
。
stary_yan
·
2016-04-26 23:00
Muduo网络库源码分析(六)TcpConnection 的生存期管理
TcpConnection是使用
shared_ptr
来管理的类,因为它的生命周期模糊。
NK_test
·
2016-04-22 15:00
源码
linux
网络
muduo
tcpConnection
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
shared_ptr
参考《boost程序库完全开发指南》//func_eg.h//定义了所有的示例函数#pragmaonce #include #include #include usingnamespaceboost; voideg(); voideg1(); voideg2(); voideg3(); voideg4(); voideg_make_shared(); voideg5(); voideg_shar
u013349653
·
2016-04-17 20:00
shared_ptr
boost
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
shared_ptr
不明确
boost的一些库,比如share_ptr已经被高版本的stl采纳了.如果你一块儿用编译器当然搞不清你要用那个了.我想你肯定写了这样的东西 usingnamespacestd; usingnamespacetr1; usingnamespaceboost; 实际上两个智能指针是一样的,你只需要用一个即可.如果你一定要两个都用,那么不要写上面的语句.而是应该写std::tr1::xxxx,boost
u013349653
·
2016-04-15 09:00
你说你会C++? —— 智能指针
C++中常见的智能指针包括(共七种): std::auto_ptr boost::scoped_ptr boost::
shared_ptr
boost::intrusive_ptr
u013575812
·
2016-04-14 22:00
C++智能指针
make_shared和
shared_ptr
的区别
http://www.cnblogs.com/shengjianjun/p/3691928.html主题 技术make_shared和
shared_ptr
的区别structA; std::shared_ptrp1
u013349653
·
2016-04-14 22:00
如何实现一个引用计数?
剖析boost::detail::
shared_ptr
的计数实现机制://
shared_ptr
中的引用计数成员属性pn boost::detail::shared_countpn;//referencecounter
lonelyrains
·
2016-04-12 16:00
C++智能指针简析
shared_ptr
的设计原理是什么?如果让你自己设计一个智能指针,你如何完成?等等……。而且在看开源的C++项目时,也能随处看到智能指针的影子。
lyrebing
·
2016-04-07 14:42
C&C++
智能指针之
shared_ptr
shared_ptr
的作用有如同指针,但会记录有多少个shared_ptrs共同指向一个对象。这便是所谓的引用计数(referencecounting)。
rockets311
·
2016-04-06 10:37
一步一步CPP
智能指针之
shared_ptr
shared_ptr
的作用有如同指针,但会记录有多少个shared_ptrs共同指向一个对象。这便是所谓的引用计数(referencecounting)。
duxingzhe0311
·
2016-04-06 10:00
智能指针
2017爱奇艺实习面试总结(搜索开发,拿到offer)
3次握手和关闭4次挥手,time_wait的作用5、Oneloopperthread+threadpool的理解6、Oneloop的loop指什么7、Muduo的tcpconnection对象为何要用
shared_ptr
ljlstart
·
2016-04-04 23:52
面试经历
boost::
shared_ptr
与定制删除器
shared_ptr
shared_ptr
是一种智能指针,他的作用如同指针,但会记录有多少
shared_ptr
指向同一个对象。
Sekai_Z
·
2016-04-04 21:41
C++
指针
智能
关于
shared_ptr
首先了解
shared_ptr
毫无疑问的是智能指针的一种,智能指针是为了解决在大型代码里无法不好控制指针的问题,例如:在类里面如果出现了动态开辟出来的空间,有一个指针指向这块空间,如果在相应的作用范围之内没有将其
清秋冷
·
2016-04-04 13:23
关于
shared
ptr
模拟实现智能指针auto_ptr,scoped_ptr,
shared_ptr
智能指针,顾名思义它是一个聪明的指针,那么到底聪明到哪了呢,让我们一起来看以下的代码。void test1() //内存泄露 { int *p = new int(1); if (1) { //... return; } //... //... delete p; }智能指针就是可以自动化地管理指针所指向的
朔月云影
·
2016-04-02 10:07
C++
智能指针
模拟实现智能指针auto_ptr,scoped_ptr,
shared_ptr
智能指针,顾名思义它是一个聪明的指针,那么到底聪明到哪了呢,让我们一起来看以下的代码。void test1() //内存泄露{ int *p = new int(1); if (1) { //... return; } //... //... delete p;}智能指针就是可以自动化地管理指针所指向的动态内存的释放。STL
朔月云影
·
2016-04-02 10:07
c++
智能指针
C/C++
(Boost)thread_specific_ptr
newsCpp&id=187&number=6571825070在每个线程中,都各自new一个对象交给全局的threah_specific_ptr进行管理,当线程退出后,他会自动释放这个对象,这一点与
shared_ptr
mounty_fsc
·
2016-04-01 22:00
C++
boost
动态内存
shared_ptr
智能指针也是模板,默认初始化为空指针 shared_ptrunique_ptr都支
u011402017
·
2016-03-29 16:00
Effective C++: 防止template的膨胀.
为了防止这样让我们来看代码吧: #include #include template class MatrixBase{ private: std::
shared_ptr
square_;
SHIHUAMarryMe
·
2016-03-27 17:00
Effective C++: 关于特例化swap防止污染std.
include #include namespace WebStuff{ template class Net{ private: //std::vector https_; std::
shared_ptr
SHIHUAMarryMe
·
2016-03-24 23:00
智能指针(模拟实现auto_ptr,
shared_ptr
,scooeptr 以及定制删除器c++ 实现)
#define _CRT_SECURE_NO_WARNINGS #include using namespace std; template class Auto_ptr { public: Auto_ptr(T* _x) :x(_x) {} Auto_ptr(Auto_ptr &s) :x(s.x) { s.x = NULL; } Auto_ptr& operator=(A
性感的玉米
·
2016-03-24 23:54
C++
智能指针
删除器
【C++】智能指针
shared_ptr
定位删除器(仿函数)
智能指针
shared_ptr
用引用计数实现看起来不错,但却存在问题。
威尼斯小艇
·
2016-03-24 21:48
智能指针
PTR
shared
c++11 学习及测试(
shared_ptr
, unique_ptr, allocator, function)
智能指针
shared_ptr
、unique_ptr,构造及使用,make_sheard,可以构造sheard_ptr,但是并没有make_unique。。
zzucaicai
·
2016-03-23 22:00
C++11
智能指针的模拟实现
shared_ptr
循环引用 定置删除器
auto_ptr与scoped_ptr的实现见本人的上篇博客。三、shared_ptrshared_ptr的实现原理是通过引用计数来实现,只有当引用计数为1时才释放空间,否则只需将引用计数减1.拷贝和赋值将引用计数加1,具体代码如下:template class SharedPtr { public: SharedPtr(); SharedPtr(T* ptr); SharedPtr(const
夜的寂寞
·
2016-03-23 21:27
智能指针
PTR
shared
智能指针的模拟实现 auto_ptr scoped_ptr
shared_ptr
RAII(ResourceAcquisitionIsInitialization)资源分配即初始化,定义一个类来封装资源的分配和释放,在构造函数完成资源的分配和初始化,在析构函数完成资源的清理,可以保证资源的正确初始化和释放。智能指针:用自动化或者说智能的指针来实现对动态内存的释放。它是一个类,有类似指针的功能。常见的智能指针:auto_ptr/scoped_ptr/scoped_array/sh
夜的寂寞
·
2016-03-23 20:54
C++
auto
智能指针
c++ 之定制删除器的代码实现(使用仿函数)
operator()(const T* ptr) { cout struct FFF { void operator()(const T* ptr) { cout > class
Shared_ptr
性感的玉米
·
2016-03-23 19:00
C++
内存管理
删除器
转一篇
shared_ptr
的小文 http://www.cnblogs.com/welkinwalker/archive/2011/10/20/2218804.html
转一篇
shared_ptr
的小文原文地址:http://euyuil.com/2344/ 在最近的期中项目“牛奶”里,我大量运用了共享指针。
baidu_30399443
·
2016-03-22 14:00
智能指针:模拟实现auto_ptr,scoped_ptr,
shared_ptr
RAII(ResourceAcquisitionIsInitialization)资源分配即初始化,定义一个类来封装资源的分配和释放,在构造函数完成资源的分配和初始化,在析构函数完成资源的清理,可以保证资源的正确初始化和释放。所谓智能指针就是智能/自动化的管理指针所指向的动态资源的释放。STL--auto_ptrBoost库的智能指针(ps:新的C++11标准中已经引入了unique_ptr/
威尼斯小艇
·
2016-03-20 22:37
模板
智能指针
RAII
【C++】智能指针的作用,模拟实现auto_ptr,scoped_ptr,
shared_ptr
,scoped_array,shared_array
RAII(ResourceAcquisitionIsInitialization):资源分配即初始化,定义封装一个类,用来实现调用构造函数时就可完成资源的分配和初始化,在调用析构函数就可完成资源的清理,以实现对资源的初始化和清理。智能指针:用自动化或者说智能的指针来实现对动态内存的释放。它是一个类,有类似指针的功能。常见的智能指针有:auto_ptr/scoped_ptr/scoped_array
韩静静
·
2016-03-20 18:58
作用
智能指针
shared_ptr
C++
【C++】智能指针的作用,模拟实现auto_ptr,scoped_ptr,
shared_ptr
RAII(ResourceAcquisitionIsInitialization):资源分配即初始化,定义封装一个类,用来实现调用构造函数时就可完成资源的分配和初始化,在调用析构函数就可完成资源的清理,以实现对资源的初始化和清理。智能指针:用自动化或者说智能的指针来实现对动态内存的释放。它是一个类,有类似指针的功能。常见的智能指针有:auto_ptr/scoped_ptr/scoped_array
韩静静
·
2016-03-20 18:58
智能指针
作用
模拟实现
智能指针 weak_ptr
weak_ptr: weak_ptr是为了配合
shared_ptr
而引入的一种智能指针,它更像是
shared_ptr
的一个助手而不是智能指针,因为它不具有普通指针的行为,没有重载operator*和->
Kiritow
·
2016-03-20 15:00
C++
weak_ptr
boost基础——any
这种功能与
shared_ptr
有些类似,但any类型安全。any位于名称空间boost,为了使用any组件,需要包含头文件。any能够容纳任意类型的原因在于它的构造函数以及赋值构造都是模板函数:tem
lanchunhui
·
2016-03-16 18:00
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
深度学习框架
再探智能指针(std::
shared_ptr
)和左值引用.
如果一个变量是以左值引用的形式引用的另外一个变量,那么当前变量的析构函数是不会执行的,只有被引用的变量的析构函数才会执行.看代码: #include #include template class Node{ public: T key_; template Node(const Ty& key); Node()=default; template N
SHIHUAMarryMe
·
2016-03-15 16:00
share_ptr 小结
共享指针 (
shared_ptr
)是现在的Boost库中提供的,并且应该是将来 C++1x 的标准库中提供的一个模板类。在此之前,ISO/IEC14882:2003
baobei0112
·
2016-03-14 11:00
上一页
23
24
25
26
27
28
29
30
下一页
按字母分类:
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
其他