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++
智能指针
文章目录前言一、为什么需要
智能指针
二、强引用共享式指针shared_ptrshared_ptr的内存模型shared_ptr的基本用法和常用函数初始化操作reset()函数详解get()函数详解使用shared_ptr
恒者走天下
·
2022-08-16 08:51
c++
开发语言
c++基础知识点(8)异常,转换函数,
智能指针
我们学习过程中编写小代码,遇到错误的办法一般是return,exit,但是如果是一个大型的程序,比如百度的服务器,不能因为一个客户端断开,造成自己的套接字无效而退出程序。这样就需要一套容错机制,有一个错误处理系统,其中就包含异常这个技术,一个错误处理系统一般的包含:异常,标准错误码,错误日志记录以及监测系统,今天我们先说异常。一.什么是异常?c++之父在《thec++programminglang
飞赴
·
2022-08-10 11:38
c++
开发语言
linux
vim
C/C++ 开源库及示例代码
2.1.2Lockfree的容器2.1.3环形缓冲2.1.4多维数组2.1.5图2.2对容器的操作2.3字符串处理2.3.1字符集2.3.2字符串格式化2.3.3正则表达式2.3.4(其它)2.4内存相关2.4.1
智能指针
chenshiying007
·
2022-08-10 10:32
多语言
c++
C++
智能指针
目录一、为什么要有
智能指针
?二、说一下内存泄露?1.什么是内存泄露,内存泄露的危害2.内存泄露的分类3.如何避免内存泄露?三、
智能指针
的基本原理?
ld0524
·
2022-08-07 17:18
C++学习笔记
笔记
c++
开发语言
C++
智能指针
- 全部用法详解
为什么要学习
智能指针
?咳咳,这个问题不是问大家的,是询问我自己的!我依稀记得刚离校出来找实习工作那会,去面试一份工作,其中有一个环节需要答题;有一道题目就是问什么是
智能指针
?卧槽?
普通网友
·
2022-07-26 16:08
面试
学习路线
阿里巴巴
c++
开发语言
数据结构
python
算法
聊聊 C++ 中的几种
智能指针
(下)
一:背景上一篇我们聊到了C++的auto_ptr,有朋友说已经在C++17中被弃用了,感谢朋友提醒,今天我们来聊一下C++11中引入的几个
智能指针
。
一线码农
·
2022-07-24 11:00
详解C++ 中 shared_ptr weak_ptr
shared_ptr1.类继承中使用shared_ptr2.castingshared_ptr3.make_shared使用weak_ptrshared_ptrshared_ptr是一个标准的共享所有权的
智能指针
·
2022-07-23 13:15
【c++复习笔记】——
智能指针
详细解析(
智能指针
的使用,原理分析)
个人主页:努力学习的少年版权:本文由【努力学习的少年】原创、在CSDN首发、需要转载请联系博主如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦目录一.
智能指针
的基本概念二.
智能指针
的定义和使用三
努力学习的少年
·
2022-07-20 10:32
从零开始学c++
c++
c语言
一起聊聊C++中的
智能指针
目录一:背景二:关键词解析1.auto_ptr2.auto_ptr多引用问题一:背景我们知道C++是手工管理内存的分配和释放,对应的操作符就是new/delete和new[]/delete[],这给了程序员极大的自由度也给了我们极高的门槛,弄不好就得内存泄露,比如下面的代码:voidtest(){int*i=newint(10);*i=10;}intmain(){test();}这段代码因为用了n
·
2022-07-18 12:18
聊聊 C++ 中的几种
智能指针
(上)
一:背景我们知道C++是手工管理内存的分配和释放,对应的操作符就是new/delete和new[]/delete[],这给了程序员极大的自由度也给了我们极高的门槛,弄不好就得内存泄露,比如下面的代码:voidtest(){int*i=newint(10);*i=
一线码农
·
2022-07-18 09:00
C++笔记之内存(内存分区、动态内存、
智能指针
)
1.内存分区1.1内存分区模型内存分四区:代码区、全局区、栈区、堆区。前两者编译时划分,后两者运行时划分。全局区存放全局变量和静态变量以及常量,其中常量区里含有字符串常量和其他常量(const修饰的全局变量)且常量区的数据不可更改。栈区包含形参、局部变量等。堆区使用malloc、new等函数开辟的空间。(内存分区详情以及new的使用见《C++笔记二》第一节内存四区。)示例:constintt1=1
今年五岁!!!
·
2022-07-17 20:49
C++
智能指针
简单模拟实现
目录1基本概念2auto_ptr3unique_ptr4shared_ptr5weak_ptr1基本概念
智能指针
是针对资源因捕捉异常跳过资源释放(如下图)、或者开辟了空间没有释放等情况所提出的。
机械狗pp
·
2022-07-11 09:58
c++
c++
智能指针
思想实践(std::unique_ptr, std::shared_ptr)
1smartpointer思想个人认为smartpointer实际上就是一个对原始指针类型的一个封装类,并对外提供了->和*两种操作,使得其能够表现出原始指针的操作行为。要理解smartpointer思想首先要了解一个概念RAII(ResourceAcquisition
熊の熊
·
2022-07-09 18:00
深入实践C++11
智能指针
智能指针
概念C/C++语言最为人所诟病的特性之一就是存在内存泄露问题,因此后来的大多数语言都提供了内置内存分配与释放功能,有的甚至干脆对语言的使用者屏蔽了内存指针这一概念。
code_peak
·
2022-07-06 14:25
C++
QT 学习:QT中的3种指针介绍与使用
QPointerQPointer是Qt提供的一个比较特别的
智能指针
,和其它
智能指针
有很大的不同,该
智能指针
专门为自动释放内存资源而设计的。
玛丽奥ZJY
·
2022-07-06 10:36
【QT】
C++中Boost的
智能指针
weak_ptr
循环引用:引用计数是一种便利的内存管理机制,但它有一个很大的缺点,那就是不能管理循环引用的对象。一个简单的例子如下:#include#include#include#includeclassparent;classchildren;typedefboost::shared_ptrparent_ptr;typedefboost::shared_ptrchildren_ptr;classparent{
·
2022-07-05 10:15
C++中Boost的
智能指针
shared_ptr
顾名思义,boost::shared_ptr是可以共享所有权的
智能指针
,首先让我们通过一个例子看看它的基本用法:#include#include#includeclassimplementation{public
·
2022-07-05 10:15
C++中Boost的
智能指针
scoped_ptr
boost::scoped_ptr和std::auto_ptr非常类似,是一个简单的
智能指针
,它能够保证在离开作用域后对象被自动释放。
·
2022-07-04 13:01
C++ unique_ptr
所以出现了
智能指针
,可以帮助我们去管理内存的删除操作。本文只讲unique_ptr的使用。unique_ptr对象包装一个原始指针,并负责其生命周期。
哀家爆
·
2022-07-02 16:50
C++
c++
开发语言
c++
智能指针
的超详细讲解
目录1.什么是
智能指针
2.原始指针的问题3.unique_ptr4.shared_ptr5.shared_ptr使用需要注意的点5.1不能将一个原始指针初始化多个shared_ptr5.2.循环引用问题
·
2022-06-29 15:15
SuperMap iServer数据动态更新刷新地图与数据服务
更新:2022年6月27日SuperMapiServer11i底层修改逻辑,增加
智能指针
。
非法小恋
·
2022-06-27 10:20
std::enable_shared_from_this的用法
有些类的成员函数需要获得自身的std::shared_ptr,但不能就地从this创建,这样会导致多个毫无关系的
智能指针
引用到同一个对象,导致重复释放【不能传递share_ptr,因为这样会造成2个以上非共享的
左图右码
·
2022-06-23 10:56
【C++碎碎念】C++11新特性(声明、
智能指针
、右值引用、lambda表达式)
目录一、新类型二、统一的初始化三、声明四、
智能指针
五、右值引用六、Lambda表达式一、新类型C++11新增了longlong和unsignedlonglong,以支持64位(或更宽)的整型,新增了类型
小石_coding
·
2022-06-18 02:01
C++语言
c++
lambda表达式
智能指针
右值引用
【C++】C++11的部分特性--右值引用、
智能指针
、lambda表达式、线程库等
目录初始化列表变量类型推导范围for循环final与override
智能指针
新增加容器默认成员函数控制右值引用lambda表达式线程库初始化列表C++11扩大了使用大括号初始化的适用范围,使大括号括起来的初始化列表可以初始化所有内置类型和用户自定义类型
0x5A0x420x42
·
2022-06-18 02:26
C/C++
c++
c++11
编程语言
C++ -
智能指针
智能指针
就是帮我们C++程序员管理动态分配的内存的,它会帮助我们自动释放new出来的内存,从而避免内存泄漏!
学习&笔记
·
2022-06-16 01:33
C++
c++
开发语言
Qt入门教程【STL篇】QVector循环删除指针浅谈
文章目录QVector存储指针循环释放QVector存储
智能指针
循环释放QVector使用
智能指针
的陷阱需求vector中存放多个指针,如何去释放,QVector在Qt6就是QList,这里用Qt6举例
编程小鱼酱
·
2022-06-10 22:17
Qt入门教程100篇
c++
链表
开发语言
QVector循环删除
vector循环删除
C++
智能指针
浅析
C++
智能指针
浅析为了解决C++中内存管理这个老大难问题,C++11中提供了三种可用的
智能指针
。
路过的摸鱼侠
·
2022-06-08 20:00
Qt
智能指针
QPointerQPointer属于Qt对象模型的特性,本质是一个模板类,它为QObje提供了guardedpointer。当其指向的对象(必须是QObject及其派生类)被销毁时,它会被自动置NULL,原理是其对象析构时会执行QObject的析构函数,进而执行QObjectPrivate::clearGuards(this);,这也是基于其指向对象都继承自QObject的原因。QPointer对
QtHalcon
·
2022-06-07 10:27
QT学习
qt
c++
开发语言
C++
智能指针
目录内存泄漏内存泄漏分类如何检测内存泄漏如何避免内存泄漏
智能指针
的使用及原理RAIIC++98std::auto_ptrC++11unique_ptrC++11shared_ptrshared_ptr循环引用问题
爱生活,爱代码
·
2022-06-05 12:55
C++
c++
开发语言
C++超详细讲解
智能指针
目录一、内存泄漏-永恒的话题二、深度思考三、
智能指针
分析四、小结一、内存泄漏-永恒的话题动态申请堆空间,用完后不归还C++语言中没有垃圾回收的机制指针无法控制所指堆空间的生命周期下面看一段内存泄漏的代码
·
2022-06-01 08:34
C++
智能指针
之shared_ptr的具体使用
目录std::shared_ptr概念shared_ptr模板类shared_ptr的构造和析构shared_ptr赋值make_shared计数线程安全?enable_shared_from_thisshared_ptr使用注意事项:总结std::shared_ptr概念unique_ptr因为其局限性(独享所有权),一般很少用于多线程操作。在多线程操作的时候,既可以共享资源,又可以自动释放资源
·
2022-05-29 10:07
第六十一课
智能指针
类模板
第六十一课
智能指针
类模板文章目录第六十一课
智能指针
类模板一、
智能指针
的意义二、STL中的
智能指针
auto_ptr三、STL中的其他
智能指针
四、QT中的
智能指针
五、小结一、
智能指针
的意义现代C++开发库中最重要的类模板之一
꧁༺夜༒雨༻꧂
·
2022-05-18 10:11
C
++学习笔记
c++
智能指针类模板
关于C++
智能指针
shared_ptr和unique_ptr能否互转问题
C++中的
智能指针
最常用的是shared_ptr和unique_ptr,C++新手最常问的问题是我从一个函数中拿到unique_ptr,但要转成shared_ptr才能使用,要怎么转换?
·
2022-05-13 13:26
C++深入分析讲解
智能指针
目录1.简介2.unique_ptr指针(独占指针)3.shared_ptr指针(共享所有权)4.weak_ptr(辅助作用)5.自实现初级版
智能指针
6.总结1.简介程序运行时存在静态空间、栈和堆区,用堆来存储动态分配空间的对象即那些在程序运行时分配空间的对象
·
2022-05-11 13:54
c++面试高频题-速记版
多重继承下虚函数表的内存分布情况多重继承虚函数表的创建原则你知道
智能指针
吗?
智能指针
的原理常用的
智能指针
auto_
我是小x
·
2022-05-07 12:58
C++
language
c++
面试
c语言
C++ 重点(
智能指针
,多线程,GDB调试等)
1.
智能指针
C/C++语言最为人所诟病的特性之一就是存在内存泄露问题,因此后来的大多数语言都提供了内置内存分配与释放功能,有的甚至干脆对语言的使用者屏蔽了内存指针这一概念。
平夕1009
·
2022-05-07 07:43
c++
QT
智能指针
方法中初始化
智能指针
并返回ClassA*createClassA(){QScopedPointerpClassA(newClassA());//returnpClassA.data();//返回将变成野指针
以千
·
2022-05-05 10:22
qt
qt
开发语言
c++
C++实例详解lambda表达式的使用
目录lambda表达式1、lambda表达式语法2、lambda应用3、lambda表达式的应用实践1、计算器案例2、
智能指针
案例3、优先级队列lambda表达式C++11函数对象的升级版=》lambda
·
2022-05-04 13:50
C++模拟实现List迭代器详解
迭代器是一种行为类似
智能指针
的对象,而指针最常见的行为就是内容提领和成员访问。因此迭代器最重要的行为就是对operator*和opera
·
2022-04-15 14:52
C语言
智能指针
shared_ptr 和 weak_ptr
weak_ptr引入可以解决shared_ptr交叉引用时无法释放资源的问题。示例代码:#include#includeusingnamespacestd;classB;classA{public: A(){coutpb;};classB{public: B(){coutpa;};intmain(intargc,char**argv){ std::shared_ptra=std::ma
·
2022-04-11 19:07
STL迭代器详解
文章目录1.迭代器(iterator)是一种
智能指针
(smartpointer)2.迭代器相应类型(associatetypes)及类型的取用2.1迭代器相应类型概念、应用场景&偏特化概念2.2迭代器相关类型的取用
KuoGavin
·
2022-04-04 13:11
#
STL学习
c++
迭代器
stl
traits
iterator
C++的
智能指针
你真的了解吗
目录什么是RAIIRAII的原理裸指针存在的问题auto_ptrunique_ptr总结什么是RAIIRAII(ResourceAcquisitionIsInitialization)是由C++之父提出的,中文翻译为资源获取即初始化,使用局部对象来管理资源的技术称为资源获取即初始化;这里的资源主要是指操作系统中有限的东西如内存(heap)、网络套接字、互斥量、文件句柄等等,局部对象是指存储在栈的对
·
2022-03-31 14:29
C++扫盲篇之指针详解
虽然说随着
智能指针
的普及,很少需要程序员再手动操作原始指针,但是如果你连原始指针的都没学好,那你怎么可能用好
智能指针
呢?无论是原始指针还是
智能指针
,要想用好它就一定要做到知其然,知其所以然
·
2022-03-25 17:36
C++
智能指针
之shared_ptr详解
目录共享指针的初始化方式常用成员函数shared_ptr内存模型make_shared的优缺点优点缺点引用计数比较运算符总结共享指针的初始化方式1.裸指针直接初始化,但不能通过隐式转换来构造2.允许移动构造,也允许拷贝构造3.通过make_shared构造例:#include#includeclassFrame{};intmain(){std::shared_ptrf(newFrame());//
·
2022-03-24 13:15
C++之指针扫盲
虽然说随着
智能指针
的普及,很少需要程序员再手动操作原始指针,但是如果你连原始指针的都没学好,那你怎么可能用好
智能指针
呢?无论是原始指针还是
智能指针
,要想用好它就一定要做到知其然,知其所以然。
FlyerGo
·
2022-03-23 20:59
C/C++
c++
C++单例模式的几种实现方法详解
目录局部静态变量方式静态成员变量指针方式
智能指针
方式辅助类
智能指针
单例模式通用的单例模板类总结局部静态变量方式//通过静态成员变量实现单例//懒汉式classSingle2{private:Single2
·
2022-03-21 11:49
c++实现一个简单的
智能指针
(共享指针)
文章目录实现过程1.指针计数类2.共享指针模板类测试实现过程1.指针计数类classPtrCounter{public:PtrCounter():count{1}{}voidadd(){++count;}voidsubtract(){--count;}intget()const{returncount;}private:std::atomiccount;};STL提供的共享指针基于引用计数原理,故
liu_jie_bin
·
2022-03-20 00:31
c++
c++
c语言
开发语言
UE4
智能指针
TSharedPtr的几种初始化方式
1、一个指向空指针的TSharedPtrTSharedPtrMyEmptyBoolPtr;2、直接使用原生指针构造TSharedPtrMyIntSharedPtr(newint32(123));int*Foo=newint32(123);TSharedPtrMyIntSharedPtr(Foo);需要注意的是,使用原生指针的构造函数是explicit的,意味着不能进行隐式构造,只能显式构造//错误
桃溪小小生
·
2022-03-20 00:30
C++
UE4
ue4
c++
C++
智能指针
智能指针
RAII
智能指针
①auto_ptr②unique_ptr③share_ptr循环引用④weak_ptr定制删除器RAIIRAII(ResourceAcquisitionIsInitialization
TZC⑥
·
2022-03-15 08:19
C++
c++
开发语言
visualstudio
C++Smart Pointer
智能指针
详解
目录一、为啥使用
智能指针
呢二、shared_ptr
智能指针
三、unique_ptr
智能指针
四、weak_ptr
智能指针
五、
智能指针
怎么解决交叉引用,造成的内存泄漏5.1交叉引用的栗子:5.2解决方案六、
·
2022-03-14 12:03
上一页
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
其他