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++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
知识点链接大杂烩
知识点链接httpd服务简介DLL、LIB、DEF、EXP文件
智能指针
的使用-MSDNfloat和long在计算机中的存储表示MicrosoftNetworkingnetsh命令行使用netsh配置网络
小沙弥爱吃肉
·
2020-08-14 17:43
C++基础
boost库在工作(11)引用计数的
智能指针
weak_ptr
因此,就提出另外一个
智能指针
weak_ptr。这个
智能指针
只对引用的指针进行保存,但不增加引用指针的计数,因而它不对shared_ptr的指针具有拥有权,
caimouse
·
2020-08-14 16:16
学习boost
21.muduo学习笔记之net_Callback.{h&cc}
placeholders::_1;C++11新特性:占位符,一般和bind联合使用.bind的时候有参数的话,之前是直接传变量,有占位符后,就可以在用到时候再穿参数2.函数get_pointer(…)获得
智能指针
的裸指针
LvPartner
·
2020-08-14 16:44
muduo学习
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库学习
RAII(Resource Acquisition Is Initialization:资源获取即初始化)
1.裸指针,操作不当导致,空悬指针(指针所指向的资源已经被释放,但是指针未置空),内存泄漏,重复释放2.栈展开的过程中不会自动释放3.应用RAII技巧,将裸指针换为
智能指针
(是一个类),将指针转为对象,
INGNIGHT
·
2020-08-14 16:18
C++奇技淫巧
智能指针
boost::weak_ptr 详解
2、boost::weak_ptr详解
智能指针
boost::scope_ptr和
智能指针
boost::shared_ptr就完全可以解决所有单个对象内存的管理问题。
扎扎实实写代码
·
2020-08-14 15:11
boost库
c/c++
boost
整理下muduo主要类的实现思路
文章目录TcpConnectionBufferLogThreadPool定时器限制并发连接TcpConnection唯一一个用
智能指针
控制声明周期的类,找了好久才找到什么时候结束。
Immortal_s
·
2020-08-14 15:07
探索muduo
C++ 11 创建和使用 unique_ptr
因此,当需要
智能指针
用于纯C++对象时,可使用
venice0708
·
2020-08-14 14:49
unique_ptr
c++11&14-
智能指针
专题
转载地址:c++11&14-
智能指针
专题-CPP加油站的文章-知乎https://zhuanlan.zhihu.com/p/73807983学c++的人都知道,在c++里面有一个痛点,就是动态内存的管理
venice0708
·
2020-08-14 14:49
智能指针
c++从入门到精通——运算符重载(三)指针运算符重载和类成员访问运算符
运算符->通常与指针引用运算符*结合使用,用于实现"
智能指针
"的功能。这些指针是行为与正常指针相似的对象,唯一不同的是,当您通过指针访问对象时,它们会执行其他的任务。比如,当指针销毁时,或
怪我冷i
·
2020-08-14 10:40
c++
C++
智能指针
(二)模拟实现三种
智能指针
在上一篇博客中提到了Auto_ptr(C++
智能指针
(一)),下面进行模拟实现Auto_ptr采用类模板实现#includeusingnamespacestd;templateclassAutoptr{
Nou_Camp
·
2020-08-14 06:00
c++
OpenCV中Ptr的应用的几点问题
要弄懂Ptr模板类就是一种
智能指针
,也可以理解成一个指针,或者是一个指针类,可以防止内存泄漏等问题,比普通指针好用。如果要查看该类的源码,可以f12查看。
耕读传家远
·
2020-08-14 03:51
OpenCV
图像识别
智能指针
的实现
#pragmaonce#includeusingnamespacestd;//原理:资源的转移解决的问题:释放指针//缺陷:如果一个指针通过拷贝构造和赋值运算符重载将管理的空间交给其他指针,则原指针是没有办法访问这块空间了#if0templateclassAutoPtr{public:AutoPtr(T*ptr=NULL):_ptr(ptr){}AutoPtr(AutoPtr&ap):_ptr(a
zl_8577
·
2020-08-14 00:43
上一页
34
35
36
37
38
39
40
41
下一页
按字母分类:
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
其他