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
make_shared
c++之
make_shared
特性
概念介绍c++11版本引入了智能指针shared_ptr/unique_ptr等,本文重点讲解share_ptr相关。由于引入了shared_ptr,根据shared_ptr的定义可以知晓shared_ptr一个模板类,支持基本数据类型,自定义数据类型的共享指针的构造。但是直接使用shared_ptr可能会引入一些问题,例如内存泄露。请看下面的例子:classMyClass{private:int
_DCG_
·
2025-01-24 23:17
c++
c++
开发语言
在friend中让std::
make_shared
使用private构造函数
众所周知在创建std::shared_ptr对象的时候,我们总是应该优先选择std::
make_shared
而非手动地用new。
GKxx
·
2025-01-24 16:23
C++学习笔记
私有构造函数
友元函数
智能指针
C++
`std::
make_shared
` 无法直接用于单例模式,因为它需要访问构造函数,而构造函数通常是私有的
std::
make_shared
在创建对象时会调用构造函数,而在单例模式下,构造函数通常是私有的,因此不能直接通过std::
make_shared
来创建对象。
课堂随想
·
2025-01-24 15:46
QT
单例模式
c++
单线程执行器(`SingleThreadedExecutor`)来处理节点的任务
node_options.automatically_declare_parameters_from_overrides(true);automove_group_node=rclcpp::Node::
make_shared
课堂随想
·
2024-09-15 22:28
moveit2
机器人
C++异步编程之std::promise与std::future使用示例
1.创建promise对象:std::shared_ptr>_discovery_promise=std::
make_shared
>();2.获取promise对象的future实例autofuture
编程汇
·
2024-08-23 15:20
C++
c++
开发语言
C++ 网络编程学习二
voidSession::WriteToSocketErr(conststd::string&buf){//
make_shared
延长_send_node的生命
cliu1_16
·
2024-02-28 10:21
C++
Linux
c++
C++11智能指针使用
shared_ptr初始化:优先使用
make_shared
来构造智能指针
make_shared
(p)1):std::shared_ptrp(newint(1));2):std::shared_ptrp2
chendongming
·
2024-02-11 19:41
C++ shared_ptr类型转换的实现原理与type traits类型萃取
includeusingnamespacestd;classA{public:intdata;};classB:publicA{};templateclassTypeCast{};intmain(){shared_ptrb=
make_shared
奔跑的大伟哥
·
2023-12-18 22:13
c++
智能指针的使用及其实现原理
目录裸指针和智能指针自己实现智能指针不带引用计数的智能指针带引用计数的智能指针智能指针的循环引用(交叉引用)问题多线程共享对象的线程安全问题自定义删除器
make_shared
和make_uniqueenable_shared_from_this
hyzhang_
·
2023-12-18 03:07
C++
面试题
数据结构
算法
c++
数据结构
智能指针-unique_ptr
的场景4.写模板时,写了两种,一份是对单个对象,一个是对一组对象给出的方案5.源码1.创建unique_ptr如何创建unique_ptrunique_ptr不像shared_ptr一样拥有标准库函数
make_shared
^花九九
·
2023-12-05 07:45
c++
开发语言
c++基础学习记录
文章目录vector构造函数后面的冒号c++中inline使用->符号C++中基本类型的数组使用的时候需要初始化,不然数组中的值不确定c++auto关键字std::
make_shared
使用c++中基本类型的字节数代码中
liu_12345_liu
·
2023-12-03 11:42
c++
开发语言
c++11 智能指针 (std::shared_ptr)(六)
定义于头文件templateclassshared_ptr;(C++11起)构造对象std::
make_shared
,std::make_shared_default_inittemplateshared_ptrmake_shared
繁星璀璨G
·
2023-12-01 23:56
#
智能指针
c++
智能指针
shared_ptr
C++ std::make_unique和std::
make_shared
用法
std::make_unique和std::
make_shared
是C++11引入的两个辅助函数,用于创建动态分配的智能指针std::unique_ptr和std::shared_ptr,分别帮助避免了显式使用
千山万水人海中666
·
2023-11-15 07:57
C++
c++
make_unique
make_shared
《C++标准库》学习笔记 — 通用工具
《C++标准库》学习笔记—通用工具一、智能指针1、误用shared_ptr2、
make_shared
和allocate_shared3、shared_ptr转型二、TypeTrait和TypeUtility1
coding-hwz
·
2023-11-13 09:59
读书笔记
#
《C++标准库》
c++
内存管理
类型处理
分数运算
标准库
[C++ 学习笔记 3] std::
make_shared
和 std::enable_shared_from_this
看asio范例async_tcp_echo_server.cpp的过程学习到不少东西。////async_tcp_echo_server.cpp//~~~~~~~~~~~~~~~~~~~~~~~~~////Copyright(c)2003-2016ChristopherM.Kohlhoff(chrisatkohlhoffdotcom)////DistributedundertheBoostSoft
weixin_34384681
·
2023-11-13 09:29
网络
c/c++
C++11新特性学习笔记
文章目录主要内容编译方法智能指针智能指针主要解决以下问题:shared_ptr内存模型智能指针使用案例智能指针可以自动释放占用的内存Notesshared_ptr共享的智能指针shared_ptr的基本用法和常用函数初始化
make_shared
FuzhouJiang
·
2023-11-13 09:56
C/C++
c++
学习
开发语言
【C++学习笔记】enable_shared_from_this
Person(){};std::shared_ptrgetPtr(){returnstd::shared_ptr(this);}};intmain(){std::shared_ptrperson=std::
make_shared
Go 鹏ya
·
2023-11-13 09:52
C++
c++
学习
笔记
C++11新特性集锦——新标准库
尽管如此,这篇博客还是跳票了很久,呵呵呵3.1智能指针std::shared_prt、std::
make_shared
、std::unique_ptr、std::weak_ptrC++码农苦new与delete
JohnnyMartin
·
2023-11-10 18:17
C++
C++11
STL
c++
C++ Primer (第五版)-第十二章 动态内存
文章目录序言12.1动态内存和智能指针shared_ptr类
make_shared
函数shared_ptr的拷贝和赋值shared_ptr自动销毁所管理的对象shared_ptr还会自动释放相关联的内存定义
晓纪同学
·
2023-11-09 23:01
C++
Primer笔记
c++
开发语言
C++11 shared_ptr类型智能指针学习
shared_ptr、unique_ptr以及weak_ptr;先学习shared_ptr类型;shared_ptr的定义位于头文件,并位于std命名空间中;T表示指针指向的具体数据类型;C++11还提供了std::
make_shared
bcbobo21cn
·
2023-11-09 01:40
VC++
开发语言
C++
智能指针
shared_ptr
掌握C++新特性中智能指针的综合指南
C++智能指针一、智能指针存在的意义二、shared_ptr2.1、shared_ptr内存模型2.2、shared_ptr使用场景2.3、shared_ptr的基本使用和常用函数2.3.1、初始化
make_shared
Lion Long
·
2023-11-08 16:27
C/C++
c++
智能指针
linux
服务器
shared_ptr
开发语言
unique_ptr
shared_ptr&&weak_ptr
初始化1)通过
make_shared
赋值(推荐的初始化方式)2)通过reset3)通过赋值intmain(intargc,char*argv[]){coutpShare=
make_shared
();pShare.reset
Forston
·
2023-11-06 00:58
C++随笔
boost
c++
《c++primer》笔记:动态内存
目录介绍1.动态内存与智能指针1.1shared_ptr类
make_shared
函数shared_ptr的拷贝和赋值shared_ptr自动销毁所管理的对象shared_ptr还会自动释放相关联的内存使用了动态生存期资源的类定义
lsgoose
·
2023-10-30 07:52
C++
c++
开发语言
c++11 条款21:尽量使用std::make_unique和std::
make_shared
而不直接使用new
让我们从对齐std::make_unique和std::
make_shared
这两块开始。std::
make_shared
是c++11的一部分,但很可惜std::make_unique不是。
starmier
·
2023-10-26 20:46
qml使用c++写的QStringListModel
比如在类的构造函数中做了如下处理:m_spIdsModel=std::
make_shared
();QStringListlist;listsetStringList(list);其中智能指针非必须。
飞翔的小七
·
2023-10-20 14:56
c++
开发语言
C++智能指针:shared_ptr用法详解
如:shared_ptrsp1(newint(100));//相当于//int*sp1=newint(100);//autosp1=
make_shared
(100);它与普通指针相比,最大的不同点就是shared_ptr
Tonson_
·
2023-10-10 03:28
C++
c++
指针
gici-open学习日记(2):Streaming线程
)`输出处理`processLogging()`**TODO**调用在主函数初始化NodeHandle对象的时候,在构造函数里,会有Streaming对象的初始化autostreaming=std::
make_shared
什么都不会的小澎友
·
2023-10-04 02:52
gici-open
学习
c++
计算机视觉
std::
make_shared
<...>的作用
std::
make_shared
是C++11引入的模板函数,可以返回一个指定类型的std::shared_ptr,它相比于std::shared_ptr的构造函数有以下优点:1、效率更高例如内存分配方面
manbuyuzhong87
·
2023-10-03 20:06
c++
算法
开发语言
智能指针那些事
《EffectiveModernC++》学习笔记之条款二十一:优先选用std::make_unique和std::
make_shared
,而非直接new-知乎
boring_111
·
2023-10-02 20:21
C++好文收集
c++
C++智能指针shared_ptr、unique_ptr以及weak_ptr
目录shared_ptr类shared_ptr和unique_ptr都支持的操作shared_ptr独有的操作
make_shared
函数shared_ptr自动销毁所管理的对象由普通指针管理的动态内存在被显式释放前一直会存在
SOC罗三炮
·
2023-09-28 16:21
CPP
指针
指针
内存管理
c++
QCamera linux与windows区别
QCameraViewfinder:显示窗口,执行构造函数时可传入QVideoWidget窗口类(由QWidget提升而来)QCameraImageCapture:拍照类1、初始化取景器view_finder_=std::
make_shared
hhlhhll
·
2023-09-25 19:56
Qt
qt
开发语言
C++11补充:智能指针如std::unique_ptr如何添加自定义的deleter
有时候为了方便,需要在析构时附加一些清理操作,或者,有的指针本身来自C的库文件中,这时候,就非常期望能够使用自定义的deleter,但是标准C++创建函数如std::make_unique/std::
make_shared
高精度计算机视觉
·
2023-09-24 00:57
c++
开发语言
[STL] std::shared_ptr笔记
::shared_ptr笔记std::shared_ptr简易uml(只简单包含membervariable&重要memberfunction)初始化以及引起引用计数变化的原因这里暂时省略了std::
make_shared
1nv1s1ble
·
2023-09-16 21:22
[笔记]
c++
开发语言
动态内存(智能指针与new)
文章目录一、引言二、动态内存管理1、使用动态内存的原因2、智能指针2.1、shared_ptr2.1.1、shared_ptr定义与初始化2.1.2、shared_ptr操作2.1.3、
make_shared
ccb_
·
2023-09-15 20:03
C++
c++
开发语言
快速了解
make_shared
make_shared
传统shared_ptr构造的缺陷资源的开辟和引用计数的开辟是分离的导致的问题:当newint(10),失败时--》还会构造引用计数,但又不会delete,导致内存泄露!!
雪芙花
·
2023-09-14 13:51
C++
c++
c++学习第十三
如果是std::shared_ptr,则会造成引用计数永远无法归0,资源不会被释放;};classA{public:A(){coutpB;};intmain(){std::shared_ptrpAA=
make_shared
姜小二
·
2023-09-13 20:27
c++
开发语言
2019-08-27 websocket
WebSocket通知templateboolTWebsocket(constT&struNotify,conststd::string&strSecurity=""){autopNotifyData=std::
make_shared
hangzhou吴彦祖
·
2023-09-08 12:17
std::
make_shared
和new初始化智能指针的区别
先看代码:classBase{public:Base(intnum):a(num){std::coutgw;{autosp=std::
make_shared
(42);gw=sp;p=sp.get();}
征途开始
·
2023-09-07 04:42
C++
c++
开发语言
C++Primer第十二章:动态内存
最安全的分配和使用内存的方式是调用
make_shared
函数,此函数在动态内存中分配一个对象并初始化它,返回指向此对象的一个shared_ptr。share
wasamtc
·
2023-09-05 18:00
C++Primer笔记
c++
开发语言
C++
Primer
265_C++_对一个智能指针给其中传递三个参数后调用的理解:例如m_shard_prt = std::
make_shared
<stream>(m_httpClient, pm, strCb)
api_stream_param_tpm;pm.cb=std::bind(&RSHttpClient::handle_dualtalk_data_cb,shared_from_this(),std::placeholders::_1,std::placeholders::_2)
HanLongXia
·
2023-09-04 05:19
物联网
c++
开发语言
C++ 学习系列 -- 智能指针
make_shared
与 make_unique
c++11中引入了智能指针shared_ptr,以及一个模板函数
make_shared
来生成一个制定类型的shared_ptr。1.2引入
make_shared
,解决了什么问题?
在河之洲木水
·
2023-09-03 09:58
学习
C++智能指针——初始化
int*a=newint();shared_ptrptr(a);shared_ptrptr1=
make_shared
(12);shared_ptrptr2(newint());shared_ptrptr3
吴俊荣
·
2023-09-02 23:16
C++智能指针
c++
开发语言
C++笔记之单例通过GetInstance传递参数
文章目录C++笔记之单例通过GetInstance传递参数例1.普通指针的单例例2.结合智能指针和std::call_once例3.编译不通过的错误例子,在GetInstance内不可以使用std::
make_shared
笑鸿的学习笔记
·
2023-09-02 07:18
c++
笔记
开发语言
C++——shared_ptr:
make_shared
的用处,与shared_ptr直接构造的区别
shared_ptrshared_ptr继承自__shared_ptr,其中有两个对象,一个是指向资源的指针,一个是控制块,指向一个引用计数对象。控制块中存储了强引用和弱引用的计数,强引用Uses代表shared_ptr对象的引用计数,弱引用Weaks代表weak_ptr对象的引用计数。大概结构如上图所示,控制块其中也存储了指向资源的指针。因此在构造一个shared_ptr对象的时候,会有两次堆分
chfens
·
2023-09-01 16:59
C/C++
c++
C++ shared_ptr智能指针 reset() 详解
,问将智能指针reset后为何不是引用减一.看代码比较好说明#include#includeautomain()->int{std::shared_ptrptr=std::
make_shared
(100
·
2023-08-30 13:59
c++shared-ptr
shared_ptr使用
shared_ptr的使用和陷阱_非长道的博客-CSDN博客shared_ptr的使用分配内存
make_shared
//
make_shared
分配一块int类型大小的内存,并值初始化为100//返回值是
江汉似年
·
2023-08-19 14:27
c++基础
c++
数据结构
开发语言
c++20智能指针支持数组创建
换句话说,创建智能指针的
make_shared
,不支持创建数组。那在c++11中如何创建一个智能指针数组呢?
fpcc
·
2023-08-19 06:33
C++11
c++
开发语言
后端
线程池-手写线程池C++11版本(生产者-消费者模型)
使用了许多C++的新特性,包含不限于模板函数泛型编程、std::future、std::packaged_task、std::bind、std::forward完美转发、std::
make_shared
Aries_Ro
·
2023-08-09 14:01
C++进阶
c++
java
开发语言
C++ shared_ptr相关技术
整理1.用
make_shared
创建智能指针shared_ptr内部包含一个托管对象的原始指针以及一个引用计数,因此直接使用new来创建一个shared_ptr需要两次内存分配:一个用于托管对象,另一个用于引用计数
荏苒何从cc
·
2023-08-04 14:55
C++ 智能指针
智能指针的核心实现unique_ptr的简单实现Counter的简单实现share_ptr的简单实现weak_ptr简单实现shared_ptr的线程安全性多线程无保护读写shared_ptr可能出现的问题
make_shared
lliuhao--
·
2023-08-04 13:30
c/c++
c++
java
开发语言
上一页
1
2
3
4
下一页
按字母分类:
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
其他