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
enable_shared_from_this
一.引入简单地说:enable_shared_from_this是为了解决在类的内部获取自己的
shared_ptr
这件事情而存在的。众所周知,每一个对象都能通过this指针来访问自己的地址。
一路阳光随行
·
2020-07-30 05:06
C/C++
智能指针 auto_ptr、scoped_ptr、
shared_ptr
、weak_ptr
什么是RAII?RAII是ResourceAcquisitionIsInitialization的简称,是C++语言的一种管理资源、避免泄漏的惯用法。RAII又叫做资源分配即初始化,即:定义一个类来封装资源的分配和释放,在构造函数完成资源的分配和初始化,在析构函数完成资源的清理,可以保证资源的正确初始化和释放。为什么要使用RAII?在计算机系统中,资源是数量有限且对系统正常运行具有一定作用的元素。
18790970257
·
2020-07-30 02:29
C++智能指针
shared_ptr
、unique_ptr和weak_ptr
引言:在C++中,常使用动态内存,一般情况下常使用new申请,delete释放。常见的三种情况有:程序不知道自己需要使用多少对象程序不知道所需对象的准确类型程序需要在多个对象间共享数据(申请的动态内存不会随着指针作用域的结束而自动释放)new分三步执行:1.调用malloc申请动态内存;2.调用传入类型的构造函数;3.判断是否有异常并将其抛出。delete原理相似例:int*p1=newint(3
库克船长4864
·
2020-07-30 01:11
学习笔记
C++:智能指针之
shared_ptr
1.智能指针C++中用new来动态分配内存,delete手动释放内存来达到动态管理内存的目的。因为保证在正确的时间释放内存是非常困难的,忘记释放内存就会产生内存泄露。为了更安全、便捷的使用动态内存,C++11标准库提供了新的智能指针类来管理动态内存。智能指针在行为上和普通的指针是一样的,只不过它可以保证内存在适当的时候自动释放。新的标准库提供了两种智能指针(在头文件中),区别在于管理底层指针的方式
SixDayCoder
·
2020-07-30 00:59
C/C++
Note
STL源码剖析---
shared_ptr
目录一、引言二、代码实现2.1模拟实现shared_ptr2.2测试用例三、潜在问题分析你可能还需要了解模拟实现C++标准库中的auto_ptr一、引言与auto_ptr大同小异,
shared_ptr
也是一个类
楚楚可薇
·
2020-07-29 23:22
【C++11】指针引用计数技术及智能指针的简单实现(共享指针是怎样计数的)?
目录计数原理智能指针的简单实现1.智能指针是什么2.实现3、改进智能指针类的改进一智能指针改进二为什么多线程读写
shared_ptr
要加锁?
bandaoyu
·
2020-07-29 17:04
C/C++
C++智能指针
shared_ptr
/weak_ptr/unique_ptr/enable_shared_from_this
智能指针C++11中引入了智能指针的概念,方便管理堆内存。使用普通指针,容易造成堆内存泄露(忘记释放),二次释放,程序发生异常时内存泄露等问题等,使用智能指针能更好的管理堆内存。智能指针实质是一个类对象,行为表现的却像一个指针。智能指针的作用是防止忘记调用delete释放内存和程序异常的进入catch块忘记释放内存。另外指针的释放时机也是非常有考究的,多次释放同一个指针会造成程序崩溃,这些都可以通
带你去网吧里偷耳机
·
2020-07-29 14:21
C++
boost
shared_ptr
计数分析
boost::shared_ptrpFirst(newCTest(2));boost::detail::shared_countpn;//referencecountertemplateexplicitshared_ptr(Y*p):px(p),pn(p)//Ymustbecomplete{boost::detail::sp_enable_shared_from_this(this,p,p);}t
hurtmanzc
·
2020-07-29 10:59
C++
从零开始学C++之boost库(一):详解 boost 库智能指针(scoped_ptr 、
shared_ptr
、weak_ptr 源码分析)...
一、boost智能指针智能指针是利用RAII(ResourceAcquisitionIsInitialization:资源获取即初始化)来管理资源。关于RAII的讨论可以参考前面的文章。在使用boost库之前应该先下载后放在某个路径,并在VS包含目录中添加。下面是boost库里面的智能指针:(一)、scoped_ptr先来看例程:C++Code123456789101112131415161718
zzg168qq
·
2020-07-29 04:47
C++智能指针剖析(下)boost::shared_ptr&其他
1.boost::
shared_ptr
前面我已经讲解了两个比较简单的智能指针,它们都有各自的优缺点。
weixin_34202952
·
2020-07-28 19:41
[C++] Boost智能指针——boost::
shared_ptr
(使用及原理分析)
简介boost::
shared_ptr
是可以共享所有权的指针。如果有多个
shared_ptr
共同管理同一个对象时,只有这些
shared_ptr
全部与该对象脱离关系之后,被管理的对象才会被释放。
weixin_34162629
·
2020-07-28 18:04
Linux多线程服务端编程二
主要技术点:1)互斥器/条件变量/读写锁的使用场合和注意点2)read-copy-update3)使用
shared_ptr
实现copy-on-write4)线程安全的单例模式实现5)CPU的乱序执行/memorybarrier6
fooboo
·
2020-07-28 15:22
C++14 智能指针unique_ptr、
shared_ptr
、weak_ptr
随着计算机技术的发展,在boost准标准库的推动下,C++11终于将unique_ptr、
shared_ptr
、weak_ptr这几类智能指针纳入C++中。
qingdujun
·
2020-07-28 13:39
智能指针tr1::
shared_ptr
、boost::
shared_ptr
使用
对于tr1::
shared_ptr
在安装vs同时会自带安装,但是版本较低的不存在。
young-hz
·
2020-07-28 13:48
c/c++
C++ boost智能指针
shared_ptr
shared_ptr
是一个最像指针的"智能指针",是boost.smart_ptr库中最有价值、最重要的组成部分,也是最有用的,Boost库的许多组件--甚至还包括其他一些领域的智能指针都使用了
shared_ptr
Rain-晴天
·
2020-07-28 13:28
C++ 智能指针
shared_ptr
详解与示例
shared_ptr
是C++11提供的一种智能指针类,它足够智能,可以在任何地方都不使用时自动删除相关指针,从而帮助彻底消除内存泄漏和悬空指针的问题。
梁启东
·
2020-07-28 13:22
C++基础知识
std::
shared_ptr
与普通指针的转换
shared_ptr
是一个类,用模板支持很多类型。
zhouenlai_silva
·
2020-07-28 04:51
VC/VS
c++
链表
链表原型代码:templatestructListNode{Tdata;
shared_ptr
>next;};链表问题常常会有O
misandao2014
·
2020-07-28 03:49
数据结构与算法
链表
std::
shared_ptr
所管理对象的析构问题
直接上代码:#include"stdafx.h"#includeclassBase{//没有虚析构函数};classDerived:publicBase{public:Derived()=default;Derived(intint_):i_(int_){}~Derived(){inti=0;}inti_{0};};intmain(){{Derived*sub_ptr=newDerived(123
luchengbiao
·
2020-07-28 02:50
C/C++
【C++】《C++ 17 入门经典》读书笔记 11 ---- 智能指针:unique_ptr、
shared_ptr
、weak_ptr
智能指针类型由标准库的memory头文件中的模板定义,所以必须在源文件中包含这个文件,才能使用智能指针。std名称空间中定义了3种智能指针:1、unique_ptrunique_ptr对象类似于指向T类型的指针,是唯一的,这表示不能有多个unique_ptr对象保存相同的地址。换句话说,从不会有两个或更多个unique_ptr对象同时指向相同的地址。unique_ptr对象独占地拥有指向的内容。编
kingkee
·
2020-07-28 01:27
C++11/17
基础知识
C++标准库笔记 -- 智能指针之unique_ptr
与
shared_ptr
不同,某个时刻只能有一个unique_ptr指向一个给定的对象。当unique_ptr被销毁时,它所指向的对象也被销毁。uniptr_ptr表达的是一种独占的思想。
友善啊,朋友
·
2020-07-28 01:00
笔记
C++标准库笔记 -- 智能指针之
shared_ptr
1、
shared_ptr
允许多个指针指向同一个对象2、unique_ptr则独占所指向的对象3、weak_ptr,他是一种弱引用,指向
shared_ptr
所管理的对象这三种类型都定义在memory头文件中
友善啊,朋友
·
2020-07-28 01:00
笔记
boost 智能指针 --- 关于性能的少数派报告
开门见山好了,boost1.33对于boost1.32的
shared_ptr
和weak_ptr有一个不小的改变,然而这个改变如此透明,以至于它甚至于没有出现在boost1.33的releasenotes
iteye_14736
·
2020-07-28 00:25
华为面试小结:浏览器项目组
shared_ptr
线程安全性分析2.内存泄漏如何避免内存泄漏,一个指针被其他多个模块使用,如何释放我回答智能指针。3.程序崩溃,dump怎么解决?
haimianjie2012
·
2020-07-27 23:15
C++开发面试题
Visual
C++开发
c++
内存泄漏
多线程
c++标准库(笔记):智能指针(1) --
shared_ptr
自c++11起,c++标准库提供了两大类型的智能指针1、shared_ptr2、unique_ptr这两个类被定义在内
shared_ptr
:当对象再也不被使用时就被清理创建
shared_ptr
:shared_ptrpNico
feng_ye2015
·
2020-07-27 22:49
c++标准库
C++ unique_ptr
创建智能指针时,必须提供指针所指的类型与
shared_ptr
的不同之处:
shared_ptr
所指向的对象可以有多个其他
shared_ptr
智能指针而unique_ptr所指向的对象只能有一个unique_ptr
Asinmy
·
2020-07-27 19:26
C++标准库
boost>
shared_ptr
由于前辈们在开发事广泛使用了boost的
shared_ptr
因此我打算自己了解一些这个
shared_ptr
。
shared_ptr
应该就是一种智能指针,这一概念在C++primer当中有提到过。
白云苍驹
·
2020-07-27 17:44
Robocup学习
C++模拟标准库智能指针
shared_ptr
利用模板模拟标准库智能指针代码如下:#pragmaonce#ifndefSHARED_PTR_H#defineSHARED_PTR_H#include#include///书写自己版本的Shared_ptrtemplateclassShared_ptr{using_Del=void(*)(_Ty*);//删除器类型别名public://typedefvoid(*)(_Ty*)_Del;//提供的删
David_TD
·
2020-07-27 15:19
C++
标准库问题
C++(标准库):04---智能指针之
shared_ptr
一、
shared_ptr
类头文件:#include智能指针,是一个模板。
江南、董少
·
2020-07-27 12:39
C++(标准库)
C++(标准库):06---智能指针之unique_ptr
创建智能指针时,必须提供指针所指的类型与
shared_ptr
的不同之处:
shared_ptr
所指向的对象可以有多个其他
shared_ptr
智能指针而unique_ptr所指向的对象只能有一个unique_ptr
江南、董少
·
2020-07-27 12:39
C++(标准库)
面试记录(一)
2.智能指针的类型,原理STL一共给我们提供了四种智能指针:(1)auto_ptr(2)unique_ptr(3)
shared_ptr
(4)weak_ptr背后设计的思想:将基本类型指针封装为类对象指针
乌龟抓水母
·
2020-07-27 12:23
linux
NDK14_C++基础:智能指针
NDK开发汇总文章目录一shared_ptrweak_ptr二unique_ptr三自定义智能指针自C++11起,C++标准库提供了两大类型的智能指针一
shared_ptr
操作引用计数实现共享式拥有的概念
鱼包子Ray
·
2020-07-27 11:54
NDK
C和C++程序员面试秘笈:29---你知道智能指针底层的原理是什么吗?能手写一个智能指针吗?
一、C++标准库的智能指针标准库提供了3种智能指针:
shared_ptr
:https://blog.csdn.net/qq_41453285/article/details/105438328weak_ptr
江南、董少
·
2020-07-27 11:27
C和C++程序员面试秘笈
C++11 智能指针
C++里面共有四个智能指针:auto_ptr、unique_ptr、
shared_ptr
、weak_ptr,第一个已经C++11抛弃,后三个是c++11所支持。
biu~biuo
·
2020-07-23 17:00
智能指针的线程安全
参考为什么多线程读写
shared_ptr
要加锁?
GOGOYAO
·
2020-07-19 15:55
C++---智能指针(auto_ptr、unique_ptr、
shared_ptr
)
智能指针voidfun(stringstr){stringps=newstring(str);str=ps;return;}当函数调用时,都会分配堆中的内存,但没有回收,会导致内存泄漏。这种情况在return之前加上free就可以了。voidfun(stringstr){stringps=newstring(str);...if(weird_fhing())throwexception();str
Jammm
·
2020-07-16 07:20
C++
C++智能指针模板类auto_ptr、unique_ptr、
shared_ptr
基本用法
(注意:一定要new申请的内存才能用智能指针自动释放,否则智能指针很可能无效)一般情况用智能指针
shared_ptr
和unique_ptr,尽量不要用auto_ptr。
三公子Tjq
·
2020-07-16 03:45
C++应用积累
'std' does not name a template type异常
/cf_libs/common/feature_channels.hpp:90:21:error:'
shared_ptr
'innamespace'std'doesnotnameatemplatetypestaticstd
ShellCollector
·
2020-07-16 00:54
c++基础
Error: ‘
shared_ptr
’ in namespace ‘std’ does not name a type
我们在使用g++编译程序的时候,有时会遇到如标题所示的错误,常见于Linux系统下。出现这种问题的原因是c++11在各种平台下的兼容问题。可以在CMakeLists中作出如下修改:cmake_minimum_required(VERSION2.6)PROJECT(Test)if(UNIX)SET(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS}-Wall-std=gnu++0x
裂空大龙
·
2020-07-15 19:17
C++
WebRTC中的引用计数指针scoped_refptr
WebRTC为了避免使用C++11(截止68版本),没有使用std::
shared_ptr
,造了一个scoped_refptr的轮子来替代.scoped_refptr(rtc_base/scoped_ref_ptr.h
cx7
·
2020-07-15 17:59
ROS 编译出错 error: ‘
shared_ptr
’ in namespace ‘std’ does not name a template type
编译出错:/opt/ros/kinetic/include/moveit/macros/declare_ptr.h:52:16:error:‘
shared_ptr
’innamespace‘std’doesnotnameatemplatetype
淡水。
·
2020-07-15 16:47
ROS
智能指针
C++Primer笔记之动态内存Author:Jokey_Chan文章目录动态内存动态内存与智能指针
shared_ptr
类make_sharedshared_ptr的拷贝与赋值
shared_ptr
自动销毁所管理的对象共享内存定义
Jokey_Chan
·
2020-07-15 15:59
C++
学习与进阶
九、 通用工具 ----pair 和Tuple---pair
九、通用工具标签(空格分隔):c++STL本章讲解c++标准库的通用工具,包括:classpairsmartpointerclass(
shared_ptr
)数值极值(Numericlimit)Typetrait
jingza
·
2020-07-15 14:53
stl
2018秋招面试问题(四、C++基础问题)
shared_ptr
的风险weak_ptr是如何辅助
shared_ptr
的?weak_ptr弱指针弱在哪里?usingnamespacestd的作用如何发现死循环?四核cpu如何跑满?
ty_xtt
·
2020-07-15 00:08
智能指针之
shared_ptr
shared_ptr
浅谈简介管理一个指针的存储,提供一个有限的垃圾收集工具,可能与其他对象共享该管理。
忧郁的排骨
·
2020-07-14 18:56
C++
最近在C++_MVVM模式开发中一些小问题
目录最近在C_MVVM模式开发中一些小问题目录C语法问题C中的explicitC11标准中的stdshared_ptrshared_ptr的功能
shared_ptr
的构造
shared_ptr
的赋值
shared_ptr
Domingo_
·
2020-07-14 15:22
C++
C++ - std::
shared_ptr
::reset
C++-std::
shared_ptr
::resetpublicmemberfunction-公开成员函数Definedinheader-定义于头文件1.std::
shared_ptr
::reset(1
Yongqiang Cheng
·
2020-07-14 08:12
C++
C++
shared_ptr
编译 error ‘
shared_ptr
’ was not declared in this scope修复
#include#include#include#includeusingnamespacestd;classSimple{public:Simple(intp=0){number=p;std::coutmy_memory(newSimple(1));if(my_memory.get()){my_memory->PrintSomething();my_memory.get()->info_exte
xin_y
·
2020-07-13 22:12
C++
C++11智能指针之优先使用std::make_unique和std::make_shared而不是直接使用new
在初始化一个unique_ptr或者
shared_ptr
时,我们最好优先使用std::make_unique和std::make_shared。
老衲不出家
·
2020-07-13 14:17
c++
[C++]---智能指针介绍简单模拟实现
常见的三种智能指针auto_ptr模拟测试C++98版本的库提供的auto_ptrauto_pt模拟实现unique_ptr使用库里面的unique_ptr模拟实现unique_ptrshared_ptr使用库里面的
shared_ptr
夜微雨
·
2020-07-13 11:26
C++
上一页
15
16
17
18
19
20
21
22
下一页
按字母分类:
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
其他