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++面试:对象生命周期 & 垃圾回收
目录对象生命周期垃圾回收手动内存管理智能指针std::unique_ptr示例std::
shared_ptr
示例资源获取即初始化(RAII)文件句柄的RAII示例面试准备理解和实践案例分析案例1:使用智能指针案例
Thomas_Lbw
·
2024-01-12 11:39
c++
面试
C++
42 智能指针 auto_ptr, unique_ptr,
shared_ptr
,weak_ptr 整理
都是类模版都不用开发者自己delete指针。这是因为智能指针有自己管理指向对象的能力,包括释放指向的内存,因此开发者不要自己释放。auto_ptr,(废弃)C++98已经被弃用,替代方案是unique_ptr.被弃用的原因:1.不能使用vector等容器保存auto_ptr2.不能从函数中返回auto_ptr类型//已经被弃用,替代方案是unique_ptr.////被弃用的原因:////1.不能
hunandede
·
2024-01-11 17:23
算法
C++ 智能指针
分类:在C++中,有三种智能指针类型:std::
shared_ptr
、std::unique_ptr和std::weak_ptr。
代钦塔拉
·
2024-01-11 01:42
笔记
利用std::package_task完成一个带返回值的线程池
include#include#include#include#include#include#include#includeclassTask{public:Task(intpriority,std::
shared_ptr
天色微凉
·
2024-01-09 23:01
C++
c++
智能指针
C++里面的四个智能指针:auto_ptr,
shared_ptr
,weak_ptr,unique_ptr其中后三个是c++11支持,并且第一个已经被11弃用。
DazzyG
·
2024-01-09 03:20
C++,智能指针详解(面试)
C++中有三种主要的智能指针:std::unique_ptr、std::
shared_ptr
和std::weak_ptr。下面我们来逐个介绍它们的特点和用法。
奇睿海
·
2024-01-06 14:10
面试
C++
c++
面试
weak_ptr组织
shared_ptr
循环引用
#include#include#includeclassTestB;classTestA{public:voidrun(){std::cout&p){ptb=p;std::coutptb;};classTestB{public:voidrun(){std::couttmp=pta.lock();tmp->run();std::cout&p){pta=p;std::coutpta;};classT
大啸
·
2024-01-06 02:44
[C++] Boost智能指针——boost::
shared_ptr
(使用及原理分析)
简介boost::
shared_ptr
是可以共享所有权的指针。如果有多个
shared_ptr
共同管理同一个对象时,只有这些
shared_ptr
全部与该对象脱离关系之后,被管理的对象才会被释放。
dxmcu
·
2024-01-05 21:35
boost
c++string 加引号_C++|引用计数与
shared_ptr
智能指针(以实现String类为例)
C++中,动态内存的管理是通过一对运算符来完成的,new用于申请内存空间,调用对象构造函数初始化对象并返回指向该对象的指针。delete接收一个动态对象的指针,调用对象的析构函数销毁对象,释放与之关联的内存空间。动态内存的管理在实际操作中并非易事,因为确保在正确的时间释放内存是极其困难的,有时往往会忘记释放内存而产生内存泄露;有时在上游指针引用内存的情况下释放了内存,就会产生非法的野指针(悬挂指针
weixin_39624429
·
2024-01-05 16:58
c++string
加引号
c++ 智能指针 unique_ptr
使用指针时很容易出现内存泄漏,便引入了智能指针,c++11中主要有三类std::unique_ptr:独占资源指针,同一时刻只能有一个指针指向同一个对象std::
shared_ptr
:共享资源指针,同一时刻可以有多个指针指向同一个对象
Tang Paofan
·
2024-01-05 07:57
C++/C
#智能指针
c++
笔记
c++ std::enable_shared_from_this 的作用
在类的内部获取
shared_ptr
是在所难免的。举个例子:在日常c++编程中,为了更好的管理资源,我们通常借助
shared_ptr
来达到对资源的自动管理。
sweetorange
·
2024-01-04 04:58
a2面试总结--c++新特性
答:不安全;本身是安全的,但是对象是不安全的;智能指针
shared_ptr
的线程安全、互斥锁_智能指针是线程安全的吗-CSDN博客【所有智能指针在多线程下引用计数也是安全的,也就是说智能指针在多线程下传递使用时引用计数是不会有线程安全问题的
曼城英泽
·
2024-01-03 08:51
c++
面试
开发语言
shared_ptr
实现多线程读写copy-on-write
原创数据库开发技术作者:liiinuuux时间:2016-09-2613:14:254730利用
shared_ptr
可以实现“读不阻塞写”。
星夜兼程工作笔记
·
2024-01-02 09:44
智能指针之
shared_ptr
初始化,引用计数,常用操作和自定义删除器等等03
一share_ptr1share_ptr基础1)共享所有权,不是被一个
shared_ptr
拥有,而是被多个
shared_ptr
之间相互协作。shared有额外开销。
Mango酱
·
2024-01-02 07:02
C++新特性相关
c++
指针
shared_ptr
的学习
includeclassA{public:A(){coutp(newA);//1std::shared_ptrp2=p;//2return0;}//1//0//销毁Constructordelete使用
shared_ptr
lpl轻舟已过万重山
·
2024-01-02 07:00
c++
算法
开发语言
条款13:以对象管理资源
文章目录没有管理的情况解决办法之unique_ptr智能指针解决办法之
shared_ptr
智能指针总结没有管理的情况 资源是指一旦你使用完它,就需要返回系统的东西。
ccloud11
·
2024-01-01 23:30
Effective
C++
c++
c++
C++中dynamic_cast和dynamic_pointer_cast
而关于
shared_ptr
无法利用这些原始的操作符进行转换,其定义了自己的类型转换操作符:static_pointer_cast,dynamic_pointer_cast,const_pointer_cast
Folllll
·
2023-12-30 01:14
C++
多态
指针
c++
boost
【QT】qt的智能指针
智能指针C++标准库中的三种智能指针:std::
shared_ptr
:使用引用计数,每一个
shared_ptr
的拷贝都指向相同的内存,每次拷贝都会触发引用计数+1,每次生命周期结束析构的时候引用计数-1
我不是程序猿儿
·
2023-12-30 00:04
QT之路
qt
开发语言
使用C++ 标准库map关联式容器根绝键值查找文件是否存在
下面这段代码创建了一个简单的示例,演示了如何使用std::map存储和检索std::
shared_ptr
类型的对象。
kxwang_
·
2023-12-27 20:53
数据结构
算法
基于Linux的C++
c++
算法
开发语言
手撸一个简单的
shared_ptr
首先先要明确
shared_ptr
的定义就是有多个对象指向同一块内存地址,大家都能访问该内存地址,当对象都被释放的时候释放该块内存,那么该类除了指向内存地址的指针外,还需要一个计数器,为了让所有对象计数器的值相等
橙子小满
·
2023-12-27 10:17
c++
开发语言
数据结构
详解—C++[智能指针]
(Heapleak)2.系统资源泄漏2.3如何避免内存泄漏三.智能指针的使用及原理3.1RAII3.2智能指针的原理3.3std::auto_ptr3.4std::unique_ptr3.5std::
shared_ptr
努力学习的小赵同志
·
2023-12-25 20:53
C++
c++
算法
数据结构
c++11特新:弱引用智能指针
弱引用智能指针std::weak_ptr可以看做是
shared_ptr
的助手,它不管理
shared_ptr
内部的指针。
想不出来_6
·
2023-12-23 23:13
c++
开发语言
笔记
Linux多线程服务端编程:使用muduo C++网络库 学习笔记 第八章 muduo网络库设计与实现(下)
TimerQueue::cancel()的一种简单实现是用
shared_ptr
来管理Timer对象,再将TimerrId定义为weak_ptr,这样几乎不用我们做什么事情。
吃着火锅x唱着歌
·
2023-12-23 14:26
C++网络库
linux
c++
网络
C++面向对象(OOP)编程-智能指针
本文旨在通过比较简单的语言理解智能指针,区分三种智能指针
shared_ptr
、unique_ptr、weak_ptr。同时解决
shared_ptr
循环引用的问题。
发狂的小花
·
2023-12-20 06:04
C/C++精进之路
c++
开发语言
智能指针
std::
shared_ptr
1.std::
shared_ptr
的实现是使用的引用计数,其基本结构为(非具体实现,大致结构)std::
shared_ptr
{std::shared_ptr_core*core;}也就是一个每个std:
笔墨情_3643
·
2023-12-19 15:31
C++
shared_ptr
类型转换的实现原理与type traits类型萃取
思考下面这个问题:#include#includeusingnamespacestd;classA{public:intdata;};classB:publicA{};templateclassTypeCast{};intmain(){shared_ptrb=make_shared();shared_ptra=b;//正确,为何能将b转成a?TypeCasttb;TypeCastta=tb;//错
奔跑的大伟哥
·
2023-12-18 22:13
c++
让内存无处可逃:智能指针[C++11]
什么是智能指针智能指针的应用示例C++98的auto_ptr共享型智能指针:shared_ptrshared_ptr的使用初始化获取原生指针指定删除器默认删除器default_delete指定删除器指定删除器管理动态数组
shared_ptr
EQUINOX1
·
2023-12-18 08:54
c++
开发语言
C++
裸指针与智能指针的线程安全问题
文章目录裸指针线程安全问题使用普通裸指针造成的问题
shared_ptr
和weak_ptr的解决问题
shared_ptr
的线程安全问题智能指针
shared_ptr
本身(底层实现原理是引用计数)是线程安全的智能指针指向的对象的线程安全问题
yhc166188
·
2023-12-18 03:07
c/c++
智能指针用法及其使用代码详解
目录概念RAII机制介绍智能指针雏形
shared_ptr
原理介绍
shared_ptr
使用方法unique_ptrweak_ptr概念智能指针不是一个指针,它其实是一个对象。
晴夏。
·
2023-12-18 03:06
c++编程相关
智能指针
C++ 智能指针的正确使用方式
C++11中推出了三种智能指针,unique_ptr、
shared_ptr
和weak_ptr,同时也将auto_ptr置为废弃(deprecated)。
bob62856
·
2023-12-18 02:05
C++ 智能指针学习
每个
shared_ptr
对象在内部维护着两个内存位置:1.指向
Meditation-
·
2023-12-18 02:34
c++
学习
开发语言
智能指针
5.2 C++11堆内存管理:智能指针与垃圾回收
而是引入unique_ptr、
shared_ptr
、weak_ptr三个智能指针。参见C++11智能指针·语
小黑屋1024
·
2023-12-18 00:38
深入理解C++11新特性
C++11
从 enable_if 了解模板元编程
templateclassTaskCancelableImp:publicTaskCancelable{public:usingPtr=std::
shared_ptr
;usingfunc_type=std
coolhuhu~
·
2023-12-15 11:52
c++
开发语言
std::enable_shared_from_this
1.作用能够让一个对象(名称为t,并且被一个std::
shared_ptr
对象pt管理),安全生成其他额外的std::
shared_ptr
实例(名称为pt1、pt2),它们与pt共享t的所有权如果一个类
ht6806
·
2023-12-14 12:03
C++11
c++
C++智能指针及简单实现
C++智能指针堆内存、栈内存与静态内存静态内存栈内存堆内存动态内存管理new、delete运算符智能指针实现智能指针
shared_ptr
智能指针的线程安全问题解决unique_ptrweak_ptr循环引用思维导图本模块思路动态内存管理
FangYwang
·
2023-12-06 12:58
C++
c++
学习
笔记
C++高级用法—使用boost::
shared_ptr
来创建共享指针对象并保持了多态性的特性
1.Introdution本文我们将使用了boost::
shared_ptr
来创建共享指针对象,并且实现多态的功能。
Jack Ju
·
2023-12-05 15:26
c++
笔记
c++
开发语言
智能指针-unique_ptr
unique_ptr2.特点3.unique_ptr的场景4.写模板时,写了两种,一份是对单个对象,一个是对一组对象给出的方案5.源码1.创建unique_ptr如何创建unique_ptrunique_ptr不像
shared_ptr
^花九九
·
2023-12-05 07:45
c++
开发语言
波奇学C++:智能指针(二):auto_ptr, unique_ptr,
shared_ptr
,weak_ptr
C++98到C++11:智能指针分为auto_ptr,unique_ptr,
shared_ptr
,weak_ptr,这几种智能都是为了解决指针拷贝构造和赋值的问题auto_ptr:允许拷贝,但只保留一个指向空间的指针
社交达人波奇酱
·
2023-12-04 14:37
波奇学c
c++
开发语言
enable_shared_from_this使用介绍
定义定义于头文件templateclassenable_shared_from_this;(C++11起)std::enable_shared_from_this能让其一个对象(假设其名为t,且已被一个std::
shared_ptr
Erice_s
·
2023-12-04 13:52
C/C++
c++
算法
开发语言
标准库头文件:memory
1.常用变量unique_ptr//模板类,拥有独有对象所有权语义的智能指针
shared_ptr
//模板类,拥有共享对象所有权语义的智能指针,不会因为weak_ptr也指向同一个对象而引用计数加1weak_ptr
zhuikefeng
·
2023-12-04 13:23
C++学习
c++
shared_ptr
unique_ptr
游戏开发-如何搭建一个WOW魔兽世界后端服务器
一、魔兽世界后端搭建前置知识1.lua程序设计lua基础lua错误处理lua编译与预编译lua模块与包元表与元方法环境lua/c接口编程2.C++新特性智能指针
shared_ptr
,unique_ptr
程序员yt
·
2023-12-03 15:17
服务器
运维
Effective C++(四): 资源管理
文章目录一、智能指针驱动的RAII二、
shared_ptr
和weak_ptr三、如何复制RAII对象四、在资源管理类中应该提供对原始资源的访问函数为了防止忘记调用delete造成的内存泄露,我们应该尽可能让对象管理资源
NUS_Ryan
·
2023-12-03 01:57
effective
cpp
c++
Android 13 - Media框架(22)- ACodecBufferChannel
这一节我们将了解ACodecBufferChannel中的buffer传输机制status_tACodecBufferChannel::queueInputBuffer(constsp&buffer){std::
shared_ptr
青山渺渺
·
2023-12-03 01:44
Android
Media
android
C++
Framework
Media
多媒体
C++中的智能指针有哪些?分别解决的问题以及区别?
1.C++中的智能指针有4种,分别为:
shared_ptr
、unique_ptr、weak_ptr、auto_ptr,其中auto_ptr被C++11弃用。
踏过山河,踏过海
·
2023-12-02 23:45
c/c++知识二次稳固
c++
C++相关闲碎记录(2)
1、误用shared_ptrint*p=newint;shared_ptrsp1(p);shared_ptrsp2(p);//error//通过原始指针两次创建
shared_ptr
是错误的shared_ptrsp1
半路程序员
·
2023-12-02 16:28
c++
enable_shared_from_this解析
enable_shared_from_this解析enable_shared_from_this,是一个以其派生类为模板类型实参的基础模板,继承它,this指针就能变成
shared_ptr
。
大东dev
·
2023-12-01 23:57
boost::enable_shared_from_this的用法
通过enable_shared_from_this可以返回
shared_ptr
的类型示例代码如下:classEachClient:publicboost::enable_shared_from_this
qq_3158353
·
2023-12-01 23:56
c++函数
c++11 智能指针 (std::
shared_ptr
)(六)
定义于头文件templateclassshared_ptr;(C++11起)构造对象std::make_shared,std::make_shared_default_inittemplateshared_ptrmake_shared(Args&&...args);(1)(C++11起)(T非数组)templateshared_ptrmake_shared(std::size_tN);(2)(C
繁星璀璨G
·
2023-12-01 23:56
#
智能指针
c++
智能指针
shared_ptr
C++11新特性之——enable_shared_from_this(Boost原有)
定义于头文件,其原型为:templateclassenable_shared_from_this;std::enable_shared_from_this能让一个对象(假设其名为t,且已被一个std::
shared_ptr
John_ToDebug
·
2023-12-01 23:25
c++
线程
c++
C/C++标准库梳理
缘由是由于我突然发现std库也有
shared_ptr
智能指针,boost库也有
shared_ptr
指针,那么有啥区别的,然后继而引发std库和boost库的区别,std库是标准库吗?
晴山ぺ
·
2023-11-30 22:35
C++
c语言
c++
开发语言
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他