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吧
智能指针
的优点不多赘述,前面的文章已经说过。这次直接手撕一个
智能指针
的代码顺便帮助自己理解一下
智能指针
的使用。
闫++
·
2020-08-13 23:30
c++面试——
智能指针
为什么使用
智能指针
(什么是
智能指针
)?使用指针申请的空间,很可能在函数结束时忘记释放,或还没有执行到释放空间的代码就已经跳出函数,造成内存泄漏。
a_zhua66
·
2020-08-13 22:12
c++
指针
面试
内存管理
C++
智能指针
C++11
智能指针
介绍
智能指针
主要用于管理在堆上分配的内存,它将普通的指针封装为一个栈对象。当栈对象的生存周期结束后,会在析构函数中释放掉申请的内存,从而防止内存泄漏。
Simple
·
2020-08-12 22:06
c++
C++11引入
智能指针
std::unique_ptr
包含头文件命名空间:std/*不是std::tr1*/我们知道auto_ptr通过复制构造或者通过=赋值后,原来的auto_ptr对象就报废了.所有权转移到新的对象中去了.而通过shared_ptr可以让多个
智能指针
对象同时拥有某一块内存的访问权
Linux菜_鸟
·
2020-08-12 13:42
C++基础
c++
智能指针
用法详解
本文介绍c++里面的四个
智能指针
:auto_ptr,shared_ptr,weak_ptr,unique_ptr其中后三个是c++11支持,并且第一个已经被c++11弃用。
shuangshuang37278752
·
2020-08-12 12:25
C++
【C++11新特性】 C++11
智能指针
之shared_ptr
原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/50750037C++中的
智能指针
首先出现在“准”标准库boost中。
Fred^_^
·
2020-08-11 20:29
C++拾遗
智能指针
auto_ptr
智能指针
是对普通原指针的一种封装类,使得对原指针的管理变得更加简便和智能化。总的来说它们主要为了解决这样一些问题:1.显式分配资源后的释放问题,比如内存泄漏(new后忘了delete)。
wudaijun
·
2020-08-11 20:52
STL
C/C++
MFC之连接mysql数据库
mysql可能是现在最常用的数据库的数据库之一,所以今天就来讲讲关于MFC如果连接mysqlMFC连接mysql有两种方法一种是用mysql为C语言提供的接口,另一个就是用ADO
智能指针
来实现。
Jonear
·
2020-08-11 16:33
MFC详解剖析
C++ 动态内存
文章目录概述标准库提供的
智能指针
类型C++动态内存的实践建议malloc和delete的区别如何定义一个只能在堆上(栈上)生成对象的类只能在堆上只能在栈上参考资料概述在C++中,内存是通过new表达式分配
Mleeeeeee
·
2020-08-11 12:46
C++
C++
动态内存
智能指针
内存管理
【C++】
智能指针
基本概念
智能指针
(smartpointer)事实上是一个装指针的容器,在析构时会delete对象,一定程度上的解决了垃圾回收的问题头文件:测试环境:操作系统:Windows10编译器:g++.exe(x86
J1JJOSH
·
2020-08-11 02:30
C++
C++
智能指针
文章目录为什么需要
智能指针
?
e我所欲也
·
2020-08-10 20:57
c++
Game Programming Gems4 1.7 代码错误
比如第三册1.5《基于句柄的
智能指针
》,第四册1.7的《弱引用和空对象》。在GPG41.7给出的代码中发现了一些问题。原始代码如果放入实际工程结果会很不美妙。
puzzy3d
·
2020-08-10 18:09
class
delete
编程
null
游戏
c
Raw 转 Dng内存泄露问题 dng_sdk
dng,原来测试的时候由于图片很少,转换的时候没有注意到内存泄露问题,领导航拍弄了3000多张的raw图需要转成dng,这下问题来了,任务管理器的内存眼看着上升,直到直接卡死,因为dng的类指针采用的都是
智能指针
领小
·
2020-08-10 12:38
DNG
智能指针
之前在《EffectiveC++》中看了一些关于
智能指针
的内容,今天想在这里结合《C++PrimerPlus》以及自己的一些想法再复习一下,就算是巩固自己的这部分的知识。
夜里的柚子
·
2020-08-10 10:16
C
/
C++
C++
智能指针
详解
用
智能指针
便可以有效缓解这类问题,本文主要讲解参见的
智能指针
的用法。包括:std::auto_ptr、boost::scoped_ptr、boost::shared_ptr、boost::
mxdxm8899
·
2020-08-10 10:43
C++
Android 5.0 Camera系统源码分析(1):CameraService启动流程
分析android系统源码,需要对android系统的某些知识点有所了解涉及的知识点有:(1)Android系统的
智能指针
-参考老罗的Android系统的
智能指针
(轻
LittleProgrammer2S
·
2020-08-10 09:49
C++
智能指针
的分析与使用
手动管理的弊端在简单的程序中,我们不大可能忘记释放new出来的指针,但是随着程序规模的增大,我们忘了delete的概率也随之增大。在C++中new出来的指针,赋值意味着引用的传递,当赋值运算符同时展现出“值拷贝”和“引用传递”两种截然不同的语义时,就很容易导致“内存泄漏”。手动管理内存带来的更严重的问题是,内存究竟要由谁来分配和释放呢?指针的赋值将同一对象的引用散播到程序各处,但是该对象的释放却只
Tanswer_
·
2020-08-10 09:42
C/C++
C++
智能指针
coutfun(){returnunique_ptr(newTest("789"));//调用了构造函数,输出Testcreat}intmain(){/*unique_ptrunique_ptr是一个独享所有权的
智能指针
Waves___
·
2020-08-10 08:24
c++
智能指针
c++11新特性
关键字及新语法1.1.auto关键字及用法1.2.nullptr关键字及用法1.3.for循环语法
智能指针
内存管理4.1.std::shared_ptr4.2.std::weak_ptrSTL容器2.1
sru_alo
·
2020-08-10 07:10
学习笔记
shared_ptr造成的循环引用&&解决方法和原理(弱引用&&强引用)
《***》循环引用就是由于
智能指针
shared_ptr造成的,下面就是shared_ptr的使用造成循环引用的图解:《****》举个例子来说下shared_ptr造成的循环引用:(选题背景双向链表)#include
ycz_csdn
·
2020-08-10 05:28
C/C++语言
深入理解C++及数据结构
服务器开发-学习笔记-内存管理(内存池概念)
1、内存池从系统中申请足够大小内存,由程序自己管理,避免内存泄漏2、对象池创建足够多的对象,减少创建释放对象消耗,避免内存泄漏3、
智能指针
保存被创建的对象,正确释放,避免内存泄漏C风格:申请内存:malloc
莫忘输赢
·
2020-08-10 04:13
server之莫忘输赢
std::shared_ptr 和 std::weak_ptr引用计数的循环引用问题
shared维护了一个指向controlblock的指针,controlblock内部包含了
智能指针
对象的引用个数。
telnetipc
·
2020-08-10 01:51
其他
Android SP 介绍
不过系统为我们提供了
智能指针
,避免出现上述问题,本文将系统地分析Android系统
智能指针
(轻量级指针、强指针和弱指针)的实现原理。
没事学学Android
·
2020-08-09 22:19
android
java的循环引用
在C++中使用过
智能指针
的同学们应该都清楚
智能指针
对C++中内存管理带来的极大便利,但是也会引入一些头疼的问题,比如
智能指针
带来的循环引用的问题,这个问题在之前的项目中一直没有很好的解决。
cnflyhz
·
2020-08-09 22:27
android中的sp和wp
为何设计
智能指针
使用中需要注意的问题onFirstRef函数wp无法操作真实对象关于androidsp和wp的实现原理,网上很多介绍的。但是为何android为何要设计这两个
智能指针
?
lyf5231
·
2020-08-09 21:57
常用
智能指针
使用源代码示例
//#include"stdafx.h"#include#include#include#include#include/*Title:
智能指针
使用示例Author:kaguladate:2010-02
kagula086
·
2020-08-09 21:19
C++
boost
Android
智能指针
SP WP使用方法介绍
在这里大家就一起来看看Android
智能指针
的相关源码解读以及应用方法。在Android的源代码中,经常会看到形如:s
learnerz
·
2020-08-09 21:48
Android
framework
基于引用计数的
智能指针
为什么会发生循环引用
下面我说的
智能指针
都是基于引用计数的
智能指针
。首先先明确一个结论:
智能指针
管理的对象,只有在引用计数为0的时候才会释放。
The_Big_Sun
·
2020-08-09 21:26
c++
std::shared_ptr 和 std::weak_ptr的用法以及引用计数的循环引用问题
在std::shared_ptr被引入之前,C++标准库中实现的用于管理资源的
智能指针
只有std::auto_ptr一个而已。
北雨南萍
·
2020-08-09 20:23
语言:
C++
C++基础之管理指针成员
这样的类具有指针的所有缺陷但无需特殊的复制控制;2、类可以实现所谓的
智能指针
行为。指针所指向的对象是共享的,但类能够防止悬垂指针;3、类采取值型行为。指针指向的对象是唯一的,由每个类对象独立管理。
amychang230_
·
2020-08-09 19:09
C++基础
C++11线程对象thread
thread对象构造函数通过全局函数构造通过lamda表达式构造通过函数对象构造通过成员函数构造线程结束加入式:join()分离式:detach()线程安全的threadthread对象可以转移所有权
智能指针
管理
假正经Leo先生
·
2020-08-09 19:32
C++
c++引用计数实现的
智能指针
循环引用问题
文章目录引用计数实现的
智能指针
循环引用问题什么情况下会出现循环引用?怎么解决?weak_ptr的使用策略?引用计数实现的
智能指针
循环引用问题什么情况下会出现循环引用?
Nick_Zhang_CSDN
·
2020-08-09 18:39
#
1.1
c++
Android C++的sp指针简介
智能指针
是c++中的一个概念,因为c++本身不具备垃圾回收机制,而且指针也不具备构造函数和析构函数,所以为了实现内存(动态存储区)的安全回收,必须对指针进行一层封装,而这个封装就是
智能指针
,c++的
智能指针
有很多实现方式
埃斯丶
·
2020-08-09 18:20
C++
JAVA垃圾回收 之 引用计数 之 循环引用
为挽尊,尝试用c++
智能指针
解释一下这个问题。。。
二点五次元
·
2020-08-09 18:59
C/C++
JAVA
ios中的内存管理机制
在C++中,对内存的管理,除了程序员自身的经验外,另外也有一些管理的机制,比如
智能指针
,它就是使用引用计数机制(解决内存泄露和重复释放这两大问题),所以IOS也是采用引
skylin19840101
·
2020-08-09 12:32
Android C++
智能指针
print();sp类通过重载->运算符实现类似指针的操作sp对象的构造和析构的时候,对CTest对象的引用计数进行加减CTest对象存储自身的引用计数,通过继承RefBase隐藏对引用计数的操作C++
智能指针
的具体实现源码中类
fisher_2005
·
2020-08-09 08:21
[STL]List的实现
迭代器:我们可以把迭代器相当于
智能指针
,(其实指针也就是一个迭代器)迭代器的类型有:前向迭代器(适用于单链表),双向迭代器(适用于双向链表),随机迭代器(随机指向),反向迭代器。
xxpresent
·
2020-08-09 03:53
STL
Effective C++ 之《资源管理》
13:以对象管理资源条款14:在资源管理类中小心copying行为条款15:在资源管理类中提供原始资源的访问条款16:成对使用new和delete时要采取相同形式条款17:以独立语句将newed对象置入
智能指针
条款
非正经程序员
·
2020-08-08 22:01
Effective
C++
C/C++
c++11 lock_guard用法
相比于mutex功能,lock_guard具有创建时加锁,析构时解锁的功能,类似于
智能指针
,为了防止在线程使用mutex加锁后异常退出导致死锁的问题,建议使用lock_guard代替mutex。
程序员之通天帝国
·
2020-08-08 22:12
c++
多线程
lock_guard
多线程
c++11
C++
智能指针
:http://www.lisongze.com/2018/08/09/smartpointer/orhttp://www.lisongze.cn/2018/08/09/smartpointer/1.
智能指针
在
songze_lee
·
2020-08-08 21:18
C++
C++
智能指针
smartpoint
boost库
智能指针
,循环引用,定置删除器详解
智能指针
用于指向存放在堆,即动态分配对象指针的类,用于对指针所指向的对象生存期的控制,防止内存泄露。
长着胡萝卜须的栗子
·
2020-08-08 17:00
C/C++
(转)C++ 单例模式总结与剖析
本文对C++单例的常见写法进行了一个总结,包括懒汉式、线程安全、单例模板等;按照从简单到复杂,最终回归简单的的方式循序渐进地介绍,并且对各种实现方法的局限进行了简单的阐述,大量用到了C++11的特性如
智能指针
Kavieen
·
2020-08-08 16:53
嵌入式C/C++
C++
智能指针
本文参考http://blog.csdn.net/luoshengyang/article/details/6786239一、RefBash.hclassRefBase{public:voidincStrong(constvoid*id)const;voiddecStrong(constvoid*id)const;intgetStrongCount()const;classweakref_type
jltxgcy
·
2020-08-08 16:19
C++语言
c++类成员指针变量使用心得
这样当对象复制之后,
智能指针
指向了同一片内存,引用自动计数,析构没有问题。但在不同进程间复制的时候会出现问题。不同进程指向了同一片内存。如果不使用
智能指针
。使用普通指针,初始化为空。
慕容飞云
·
2020-08-08 16:47
编程设计
C++
智能指针
C++
智能指针
原始指针不释放会导致内存泄露。删除同一指针多次会得到未定义行为(undefinedbehaviour),意味着可能正常工作,可能崩溃也可能是发生一些随机的事情。
-似曾相识燕归来
·
2020-08-08 16:29
c++
C++
智能指针
智能指针
与 shared_from_this 源码解析
背景
智能指针
的种类shared_ptr的实现_M_use_count是如何加减的?为何使用
智能指针
管理对象,基类析构函数不是虚函数也会调用子类析构函数?
疯狂的大伟
·
2020-08-08 01:20
c++
多态
编程语言
Effective C++ 学习笔记 第三章:资源管理
EffectiveC++学习笔记第一章:让自己习惯C++第二章见EffectiveC++学习笔记第二章:构造、析构、赋值运算文章目录条款13:以对象管理资源(重要)话题1:不要让调用者回收资源话题2:
智能指针
话题
P2Tree
·
2020-08-07 23:06
C++
学习笔记
STL源码分析:Iterators
智能指针
迭代器是一种行为类似指针人对象。而指针的各种行为中最常见也最重要的便是内容提领(*)和成员访问(->),迭代器最重要的编程工作就是对这两个操作进行重载工作。
Kevin_Leong
·
2020-08-07 15:12
友元函数的三种实现方式
如果类A中的函数要访问类B中的成员(例如:
智能指针
类的实现),那么类A中该函数要是类B的友元函数。具体来说:为了使其他类的成员函数直接访问该类的私有变量。
l93919861
·
2020-08-07 14:17
C++
PCL使用Kinect V1 在获取设备的时候出现
智能指针
错误
问题:在Ubuntu16.04系统中,利用PCL获取KinectV1数据时,可能会出现莫名其妙的只能指针错误。经过调试发现是这一行代码出错:pcl::Grabber*interface=newpcl::OpenNIGrabber();//没有获取到设备接口,导致出错分析:经过测试发现按照此链接安装时,如果安装Kinect支持项SensorKinectcdPlatform/Linux/CreateR
王牧犊
·
2020-08-07 12:37
PCL
上一页
35
36
37
38
39
40
41
42
下一页
按字母分类:
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
其他