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
智能指针
【C++ Primer 学习札记】使用new或者make_shared创建shared_ptr
智能指针
《C++Primer》P400为了更容易(同时更安全)地使用动态内存,新的标准提供了
智能指针
(smartpointer)类型来管理动态对象。
JinSu_
·
2020-08-17 12:49
《C++
Primer》学习札记
Effective C++笔记--资源管理
智能指针
auto_ptr就是一个很好的例子。
刁斤干
·
2020-08-17 11:35
C++
c++
内存管理
C++
智能指针
详解
C++
智能指针
详解文章目录C++
智能指针
详解1.
智能指针
能解决什么问题?
—叶丶知秋
·
2020-08-17 05:59
C++
智能指针
——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++
指针
内存管理
智能指针
——shared_ptr
make_shared(param)、*p3.swap(p,q)、p.swap(q)4.p.use_count5.shared_ptrp(q)6.自动销毁所管理的对象文章来源于C++Primer的读后笔记众所周知,
智能指针
是模版
IT界的一大菜鸟
·
2020-08-17 02:57
C++
c++
指针
MFC环境osgEarth开发程序内存泄露的解决办法
vc.net2010,采用sp1包里的ribbon风格搭建mfc的单文档应用程序,按照osgearth提供的example例子完成简单的地球显示和模型加载,每次系统退出时发现大量的内存泄露问题,还以为是因为
智能指针
没用好
冰点青蛙
·
2020-08-17 00:57
3S技术
C++异常
智能指针
类型转换
异常1.当一个函数发现自己无法处理的错误时就可以抛出异常,让函数的直接或间接的调用者处理这个错误。2.异常是通过抛出对象而引发的,该对象的类型决定了应该激活哪个catch的处理代码。3.被选中的处理代码是调用链中与该对象类型匹配且离抛出异常最近的那一个。4.trycatch会带与其未曾料到的栈溢出。5.C++异常处理机制是一个用来有效地处理运行错误的非常强大且灵活的工具,主要使用了三个关键字:tr
活的钻石
·
2020-08-17 00:33
c++学习概括总结
pointer-like classes, 关于
智能指针
为何设计一个类产生的对象要像一个指针,因为你想要它做比指针更多的事情,所以通常这样做出来的东西,又叫做
智能指针
(更聪明的指针)。
一杯明月
·
2020-08-16 22:00
C++
智能指针
会引起异常的几种情况
2,不使用相同的裸指针初始化多个
智能指针
3,不deleteget()返回的指针4,不使用get()初始化或res
即将拂晓
·
2020-08-16 22:27
笔记
c++11之模板定义别名
C++11标准中可以为模板定义别名,比如templateusingptr=std::shared_ptr;//这里模板定义ptr为
智能指针
std::shared_ptr定义的别名所以实际应用中可以借此来简化代码
highnewrain
·
2020-08-16 21:52
C/C++
模拟实现shareptr
智能指针
shared_ptr的原理通过引用计数的方式来实现多个shared_ptr对象之间共享资源例如:公司晚上会通知,最后走的员工把灯关掉shared_ptr在其内部,给每个资源都维护了着一份计数,用来记录该份资源被几个对象共享在对象被销毁时(也就是析构函数调用),就说明自己不使用该资源了,对象的引用计数减1如果引用计数是0,就说明自己是最后一个使用该资源的对象,必须释放该资源如果不是0,就说明除了自己
李贰一
·
2020-08-16 19:03
C++知识总结
C++ -
智能指针
(smarter pointer)自定义删除器(deleter) 的方法 详解 及 代码
智能指针
(smarterpointer)自定义删除器(deleter)的方法详解及代码版权所有,禁止转载,如有需要,请站内联系本文地址:http://blog.csdn.net/caroline_wendy
weixin_34187862
·
2020-08-16 16:49
详解c++动态内存new/delete、
智能指针
shared_ptr、unique_ptr、weak_ptr
可编程内存基本上可分为以后三个大部分:静态存储区内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。保存局部static对象、类static数据成员以及任何定义在函数之外的变量(即全局变量或常量)。栈区在执行函数时,函数内局部非static变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。
王高1990
·
2020-08-16 15:47
c/c++
智能指针
的前世今生(二)------new delete完全解析
欢迎交流QQ2431173627微信ccc17862701790在这一系列的第一篇文章中讲了程序的内存结构在堆区的内存是要通过newdelete系列函数来分配释放的那么在newdelete的背后程序到底做了什么?又有哪些注意点?本文将一一解密newoperator1.这个就是我们平常用到的new,是一种操作符关键字不是一种函数2.内部的原理是调用operatornew分配足够的空间,并调用相关对象
HIT_KyleChen
·
2020-08-16 15:40
C++
C++06
智能指针
new,malloc,free,delete的区别
1.裸指针和
智能指针
头文件#include
智能指针
智能:无论如何,保证资源一定会释放内存:.data.heap1.1
智能指针
原理:利用栈上的对象出作用域自动析构的特点,把资源释放的代码,放在
智能指针
的析构函数里面
我的sun&shine
·
2020-08-16 14:53
c++
5.2c++:new、delete探秘,
智能指针
概述,shared_ptr基础部分、make_shared函数
一、new/delete探秘1、new,delete是什么sizeof关键字,不是一个函数。new,delete关键字,不是函数。malloc,free主要用于C语言,而new,delete用于C++编程,这两对都用于动态的在堆中分配和释放内存。new,delete会调用类的构造与析构函数,malloc与free比new和delete更底层。new/delete具备对堆上所分配内存进行初始化/释放
You图碧
·
2020-08-16 14:31
c++转载
5-2 new、delete探秘,
智能指针
概述、shared_ptr
001newdelete探秘#include#include#include#includeusingnamespacestd;classA{public:A(){cout#include#include#include#includeusingnamespacestd;shared_ptrtestFunction(intvalue){//returnnewint();//error,不可以将ne
昔拉天使
·
2020-08-16 14:38
C++98
11
14
17
Netty,Kafka,Muduo关于时间轮的一些思考 之Muduo时间轮
是陈硕老师用C++写的一个网络库,功能与netty其实很像,陈硕老师也在书中提到muduo很多的实现参考了netty.青出于蓝而胜于蓝,我认为在时间轮上muduo是要由于netty的.而这一切都要归功与
智能指针
Rapper金馆长
·
2020-08-16 14:15
muduo
【面经】2021届校招提前批data部门一面凉经
智能指针
,这个稍微了解一点,但是太紧张了,以至于忘了我知道。怎么叫内存泄漏,写个内存泄漏的代码看看。(拖了挺久,因
涛涛酱
·
2020-08-16 12:47
面经
设计模式(四)std::function接口编程彻底取代抽象工厂和工厂方法
特点:使用
智能指针
获取对象,而不是暴露原始指针。代码:#include"boost/smart_ptr.hpp"#include"boost/weak_ptr.hpp"#includeusin
CalmReason
·
2020-08-16 11:35
C++
设计模式
C++
11
C++日记——Day29:new、delete探秘,
智能指针
概述、shared_ptr基础
一、new/delete探秘1、new,delete是什么sizeof关键字,不是一个函数。new,delete关键字,不是函数。malloc,free主要用于C语言,而new,delete用于C++编程,这两对都用于动态的在堆中分配和释放内存。new,delete会调用类的构造与析构函数,malloc与free比new和delete更底层。new/delete具备对堆上所分配内存进行初始化/释放
lucky0han
·
2020-08-16 11:03
C++日记
C++高级——lambda应用以及实现原理
改进了函数对象以下的缺点:使用在泛型算法中的参数传递比较性质/自定义操作优先级队列
智能指针
lambda表达式语法[捕获外部变量](形参列表)->返回值{操作代码};如果lambda不需要返回值,那么返回值可以省略
shenmingik
·
2020-08-16 11:21
C++高级
c++
C++入门到精通 ——第四章
智能指针
四、
智能指针
Author:XFFer_文章目录四、
智能指针
01直接内存管理(new/delete)、创建新工程观察内存泄漏直接内存管理(new/delete)定义初值创建新工程,观察内存泄漏02new、
霖烨·XF
·
2020-08-16 11:11
C/C++
[C++ 系列] 90. 超详解C++思维导图
本张思维导图列出C++继承、多态、
智能指针
、关联式容器、C++11的相关知识,也是对博文的高度总结。可参考上几次的阶段性总结也是制作了一张思维导图,可见:[C++系列]33.思维导
Y_puyu
·
2020-08-16 05:10
[C++系列]
C++
智能指针
使用
用
智能指针
便可以有效缓解这类问题,本文主要讲解参见的
智能指针
的用法。包括:std::auto_ptr、boost::scoped_ptr、boost::shared_ptr、boost::scop
西_瓜_瓜
·
2020-08-16 04:23
C/C++
C++
智能指针
详解
来源:http://blog.csdn.net/xt_xiaotian/article/details/5714477一个
智能指针
就是一个C++的对象,这对象的行为像一个指针,但是它却可以在其不需要的时候自动删除
weixin_33916256
·
2020-08-16 02:59
C++11如何减少内存拷贝次数
例如
智能指针
实现高效的内存管理,std::bind和std::function函数封装器,以及lambda实现的函数对象语法糖,都是使我着迷的地方。
weixin_30500289
·
2020-08-16 02:35
c/c++
数据结构与算法
内存管理
智能指针
就这么简单
C++
智能指针
基础知识及其实现STL中的
智能指针
简介先定义一个类auto_ptr(T*)unique_ptr(T*)shared_ptr(T*)weak_ptr(T*)自己实现一个
智能指针
类模板成员变量构造函数
qq_30339595
·
2020-08-16 00:20
C 语言实现
智能指针
参考https://snai.pe/c/c-smart-pointers/attribute((cleanup(f)):用于动态分配对象的自动释放,cleanup修饰一个变量在该变量作用域结束后,自动调用一个指定的方法f。所谓作用域结束,包括大括号结束、return、goto、break、exception等各种情况。下面是实现方法:#defineautofree__attribute__((cl
qq_16204521
·
2020-08-16 00:57
C
C++
智能指针
简单剖析
导读最近在补看《C++PrimerPlus》第六版,这的确是本好书,其中关于
智能指针
的章节解析的非常清晰,一解我以前的多处困惑。
小敏纸
·
2020-08-15 23:24
C/C++编程
C++经典读书笔记
智能指针
std::auto_ptr 和 shared_ptr
转载:http://blog.sina.com.cn/s/blog_508938e10100f12x.htmlauto_ptr类可以用于管理由new分配的单个对象,但是无法管理动态分配的数组(我们通常不会使用数组,而是使用vector代替数组)。auto_ptr在拷贝和赋值的时候有不寻常的行为,因此auto_ptrs不能被保存在stl的容器中。当auto_ptr离开了自己的作用域或者被销毁,由au
ShenRui
·
2020-08-15 23:44
C++基础
STL
delete
vector
多线程
null
剖析C++标准库
智能指针
(std::auto_ptr)
SmartPointer,中文名:
智能指针
,舶来品?
ShenRui
·
2020-08-15 23:43
C++基础
STL
C++:
智能指针
,这就是你想要的
前言:
智能指针
主要用来释放资源,防止某些情况下导致内存泄漏当我们使用new关键字在堆上申请了一块空间,而没有进行delete,这就造成了内存泄漏;还有如果fopen打开文件后,没有关闭。
@书生
·
2020-08-15 21:15
C/C++
多线程读写数据方法之读写锁方法与shared_ptr+互斥锁方法的比较
shared_ptr是一种用引用计数实现的
智能指针
,当计数为零时,它接管的对象会被销毁。利用这一点可以与互斥锁配合使用实现另外一种比读写锁更为高效的方法。方法如下:1:对于read端,在读之
limwz
·
2020-08-15 17:54
操作系统
c/c++
muduo
linux
Android 8.0系统源码分析--Binder进程间通信(一)
AndroidHAL层的知识,而且直接自己实现了一个虚拟的freg驱动程序,后面的几节是分别从native、java层如何访问这个虚拟的驱动程序接口,我这里没有这样的环境,所以就不分析这节了,第三章的
智能指针
我对比
红-旺永福
·
2020-08-15 15:28
Android框架总结
Android源码解析
android
framework
浅谈C++的
智能指针
浅谈C++的
智能指针
内存泄露是C++程序员都头疼的大问题。C++缺乏像JAVA、C#一样,拥有GC这么一项有利的武器,它将内存管理的部分权限交给了程序员。
wfu
·
2020-08-15 10:17
C/C++
C++的拖延战术:lazy evaluation
ReferenceCounting引用计数对于引用技术,相信大部分人都不觉得陌生,在C++中的
智能指针
shared_ptr便是利用这一技
xuqing-ICT
·
2020-08-15 05:32
C++
Primer
C++11
智能指针
C++11
智能指针
本文将讨论C++11中的
智能指针
,如何使用以及注意事项。
BlackCarDriver
·
2020-08-15 05:27
C++
11新特征
智能指针
为解决这个问题,我们的前辈得出了
智能指针
的这个方法,
智能指针
到底怎样实现智能呢?下面我们一起来看看下面这段代码#includecla
qq_40707451
·
2020-08-15 03:52
C++ boost库
智能指针
(三):weak_ptr
weak_ptr是shared_ptr得到协助者,可以观察shared_ptr是否过期,weak_ptr不改变引用计数,也不能使用*,->操作符,是一个很弱的
智能指针
。
令狐掌门
·
2020-08-14 22:01
C++
boost库开发教程
boost
weak_ptr
C++
C++的RAII和
智能指针
小结
RAII:资源分配即初始化,利用构造函数和析构函数定义一个类来完成对资源的分配和释放
智能指针
主要用来防止内存泄漏,我们来举个栗子,看看为什么会有
智能指针
这个东东例1:对于上面这段程序,由于抛出异常的时候影响了代码的执行流
weixin_34128501
·
2020-08-14 20:18
Boost
智能指针
——weak_ptr
循环引用:引用计数是一种便利的内存管理机制,但它有一个很大的缺点,那就是不能管理循环引用的对象。一个简单的例子如下:#include#include#include#includeclassparent;classchildren;typedefboost::shared_ptrparent_ptr;typedefboost::shared_ptrchildren_ptr;classparent{
weixin_33932129
·
2020-08-14 20:29
分布式实时处理系统——C++高性能编程 RAII resource acquisition is initialization
2、类对象的值传递问题会导致多次析构,使用
智能指针
;3、C++怎么实现的线程和锁机
aFakeProgramer
·
2020-08-14 20:53
c++
面试题
C++11/14系列学习
注:本文并没有
智能指针
、线程
wsqyouth
·
2020-08-14 20:45
C++/STL
建议慎用boost::weak_ptr来避免智…
所以自从见到基于RAII的boost
智能指针
实现,觉得日子好过了很多呵呵。
智能指针
相比GC,优点很多:效率高计算代价低即时性好。但有一个很致命的缺陷:当存在循环引用的时候将会导致内存泄露。
Runyon1982
·
2020-08-14 19:30
c/cpp
指针容器: boost::ptr_vector ptr_container
在你见过BoostC++库的各种
智能指针
之后,应该能够编写安全的代码,来使用动态分配的对象和数组。
Rain-晴天
·
2020-08-14 19:43
C++怎样把第三方库隐藏在实现下面
有时候甚至会更换某个开源库(效率问题或其他原因),甚至是编译太慢(为了
智能指针
就弄个BOOST进来未免大材小用了),如果能把第三方库隐藏在你自己的类下面那是再好不过了(它对你整个工程的影响只是这个类而已
神气爱哥
·
2020-08-14 18:34
c++技术文章
C++11 信号槽 signal/slot
实现了一个线程安全的信号槽,还是利用
智能指针
的特性,一方面信号槽的多线程的读写是安全的,另一方面采用了弱回调技术(基于weak_ptr,槽的析构)。随手画了一张结构图,。
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库学习笔记-线程安全
(如果有并发的写操作那么将会是线程不安全的),同样在多线程C++中还要注意多个线程如果都可以访问一个对象时的对象析构问题,所以对于这样的对象最好采取
智能指针
去管理。所以说在并发服务器里,
张火油
·
2020-08-14 17:48
上一页
32
33
34
35
36
37
38
39
下一页
按字母分类:
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
其他