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
智能指针auto_ptr
Android架构分析之Android
智能指针
(一)
作者:刘昊昱博客:http://blog.csdn.net/liuhaoyutzAndroid版本:4.4.2在C++语言中,指针操作是最容易问题的地方,常见的指针操作错误有以下几种:1、定义一个指针,但没有对其进行初始化。这种情况下,指针会指向一个随机地址,此时使用该指针,将出现不可预知的错误。一般定义一个指针时,应该同时对该指针进行初始化。2、new了一个对象后,忘记delete该对象。这种情
liuhaoyutz
·
2020-08-03 19:05
Android架构分析
cpp资源管理--
智能指针
、引用计数、weak_ptr
如需评论,请移步至我的githubblog前言本文面向c++初学者,讲述现代c++语言中的资源管理,包含但不限于:资源获取即初始化(RAII),
智能指针
,引用计数,weak_ptr的由来,垃圾回收机制。
diaoshanglie0450
·
2020-08-03 16:23
java
内存管理
javascript
C++基础知识-之
智能指针
和轻量级指针(韦东山视频学习)
初始化#include#include#includeusingnamespacestd;classPerson{public:Person(){cout(){returnp;}};voidtest_func(void){spi1(5);spi2=6;sps=newPerson();sps3(newPerson);s3->printInfo();}intmain(intargc,char**arg
tom-wei
·
2020-08-03 15:24
C++
智能指针
的动态数组的使用
在C++编程里,最基本的操作就是内存分配和删除,也即是内存管理,这个特性是C++的主要优点也是缺点,为什么这样说呢?因为管理得好,是性能提升很高,其它语言是无法比拟的,管理不好就是坏处一大堆,比如内存泄漏,这样的问题常常会导致程序运行一段时就会死掉,因为内存不断地分配而没有删除,并且要找到那里分配的内存没有删除,也是费力的事情,经常是夜夜加班去解决,特别是那些不够细心的程序员,更加是恶梦不断。因此
caimouse
·
2020-08-03 15:56
RK3288嵌入式Linux
c++
指针
C++内存管理——引用计数
C++primer中提到的传统
智能指针
的实现:
智能指针
的实质就是在栈上分配一个指向资源对象的指针,当出了对象的作用域的时候,会自动调用其析构函数。
naruto2011sasuke
·
2020-08-03 11:45
C++学习
C++11指针智能 - 常用知识点
(1)
auto_ptr
:是一个类,类的构造函数将指针传入并保存,在类析构的时候将指针释放掉。
givemefive_001
·
2020-08-03 05:06
C++
C++
智能指针
首先明确C++
智能指针
本身不是指针,而是一个类,这个类构建的时候是用指针作为参数传递进入,在使用的时候可以用起来像指针一样使用,感觉最主要的功能是完成了指针所指向原始对象的内存管理,当对象最后生命周期结束的时候
hnshahao
·
2020-08-03 00:37
C++
C++
智能指针
及其简单实现
原文链接:http://www.cnblogs.com/xiehongfeng100/p/4645555.html基于引用计数的
智能指针
可以简单实现如下(详细解释见程序中注释):1#include2usingnamespacestd
Code_My_Life
·
2020-08-02 15:53
黎宏伟
通俗易懂学习C++
智能指针
智能指针
是干什么的?
智能指针
主要用于管理在堆上分配的内存,它将普通的指针封装为一个栈对象。当栈对象的生存周期结束后,会在析构函数中释放掉申请的内存,从而防止内存泄漏。什么是内存泄漏?
海盗船长没有船y
·
2020-08-02 14:06
C++
智能指针
C++11
shared_ptr
auto_ptr
unique_ptr
对于拷贝构造函数和赋值构造函数的理解
对于拷贝构造函数和赋值构造函数的理解昨天晚上在看
智能指针
的时候,我发现自己连一个拷贝构造函数和赋值构造函数都写不出来,自己就尝试写了一个版本,结果发现错误百出,对于拷贝构造函数和赋值构造函数的理解仅仅停留在理论的方面
小小书生笑两个
·
2020-08-02 12:48
Qt和C++
c++
C++中如何避免资源泄漏
解决的方法如下{share_ptrp(newobject());...}用
智能指针
替代普通指针,当发生异常并进行栈展开过程时,程序会析构已经构造完毕的类,从而避免了资源泄漏。上面运用的是
ljlstart
·
2020-08-01 13:56
C/C++
C++11 Shared_ptr
#include"pch.h"#includeusingnamespacestd;voidDeleteIntPtr(int*p){deletep;}intmain(){/*shared_ptr共享
智能指针
zang141588761
·
2020-08-01 08:12
c++
C++
智能指针
3——弱指针weak_ptr详解
目录shared_ptr指针存在的问题循环引用示例代码运行结果使用weak_ptr解决循环引用问题代码运行结果共享指针shared_ptr指针存在的问题使用共享指针shared_ptr指针的主要原因是避免手动管理指针所关联的资源。但是,在某些情况下共享指针shared_ptr不能实现预期的行为:一种情况是循环引用。如果两个对象使用shared_ptr指针相互引用,并且不存在对这些对象的其他引用,若
写有意思的代码
·
2020-08-01 07:12
C++
#
智能指针
C++11新特性梳理
一般而言,回答以下四个方面就够了:“语法糖”:nullptr,auto自动类型推导,范围for循环,初始化列表,lambda表达式等右值引用和移动语义
智能指针
C++11多线程编程:thread库及其相配套的同步原语
杭河苇
·
2020-08-01 07:02
C++11
智能指针
——unique_ptr
//疑问:既然可以将unique_ptr类型push到vector中,那该如何获取unique_ptr的每个元素,//然后分别push到vector中呢?有知道方法的朋友忘不吝指教,谢谢。2016-03-05***//2016-03-07unique_ptruia;uia实际上是数组指针,而且uia[i]的返回是int类型的,除非使用new或malloc重新分配内存然后再使用uia[i]来初始化,
wssjlrw
·
2020-08-01 07:41
C++11特性
2020腾讯春招面经(WXG PCG)
3.13WXG一面c++多态:静态多态+动态多态,扯到了虚函数,多态继承,虚继承和普通继承虚函数的实现机制:虚函数表和虚表指针,虚表指针的位置:4种
智能指针
,const和static的区别。
罗gkv
·
2020-08-01 06:15
面经
C++ 11 创建和使用 unique_ptr
因此,当需要
智能指针
用于纯C++对象时,可使用
weixin_34383618
·
2020-08-01 04:54
实战c++中的
智能指针
unique_ptr系列-- unique_ptr的get()赋给普通指针后的崩溃(其实是生命周期惹的祸)
之前博客是这样写get方法的:其中bar是一个
智能指针
,p是一个普通指针:p=bar.get();后,bar并非被释放,也就相当于指针p和
智能指针
bar共同管理一个对象,所以就*p做的一切,都会反应到bar
一蓑烟雨1989
·
2020-08-01 02:27
C++
C++重载->和*运算符
最经典的例子是
智能指针
。
Erick_Lv
·
2020-07-31 22:12
C++笔记
深度理解:
auto_ptr
的释放及赋值问题
首先说一句,
auto_ptr
已经在C++11中已经标注为Deprecated,也即你可以继续使用这玩意,但是在C++持续的演进中,这玩意将慢慢不被主流编译器支持。”
漫漫开发路
·
2020-07-31 22:39
C++
智能指针
(unique_ptr, shared_ptr)的源码分析
在博文https://blog.csdn.net/qq_27717921/article/details/82940519已经介绍了unique_ptr和shared_ptr的使用,但是这两类的
智能指针
是如何做到管理指针的呢
夏末的初雪
·
2020-07-31 21:36
C++基础
GEEK学习笔记— —程序员面试宝典笔记(二)
所谓笔记,就是比较个人的东西,把个人觉得有点意思的东西记录下来~~程序员面试宝典笔记(一)基本概念程序员面试宝典笔记(二)预处理、const和sizeof程序员面试宝典笔记(三)
auto_ptr
、递归程序员面试宝典笔记
Sin_Geek
·
2020-07-31 20:13
GEEK学习笔记
C++ unique_ptr
智能指针
的设计初衷,应该是简化指针的使用,使用户可以再使用过程中不需要显示释放申请的空间,或者防止申请的空间未释放导致的各类问题。但是如果不了解
智能指针
的实现,使用不当可能导致各类难以预料的问题。u
hitsoft07
·
2020-07-31 18:21
C/C++
C++中
智能指针
-atuo_ptr、unique_ptr
智能指针
的出现就是为了更好地完成清理工作,最大程度的避免内存泄露等问题,正是资源分配实现的一种方法。
智能指针
就是自动管理指针所指向的资源的释放。我们虽然可
BabysBreath_hl
·
2020-07-31 18:21
C++
库函数
C++之unique_ptr
unique_ptr为独占的
智能指针
,与所指对象的内存绑定紧密,不能与其他unique_ptr类型的指针对象共享所指对象的内存。
g0415shenw
·
2020-07-31 17:34
C++
C++轻量级可配置语法分析器(开源) - λ-calculus(惊愕到手了欧耶,GetBlogPostIds.aspx) - C++博客...
)-λ-calculus(惊愕到手了欧耶,GetBlogPostIds.aspx)-C++博客C++轻量级可配置语法分析器(开源)这个分析器包含了四个文件:VL_Data_Basic.h(使用了其中的
智能指针
a13393665983
·
2020-07-31 15:30
c++中的unique_ptr
智能指针
1、与shared_ptr不同。某个时刻只能有一个unique_ptr指向一个给定对象。当unique_ptr被销毁时,它所指向的对象也被销毁。2、unique_ptr初始化必须采用直接初始化的的形式:unique_ptrp1;//指向一个double类型的unique_ptrunique_ptrp2(newint(42));//p2指向一个值为42的int3、unique_ptr拥有它所指向的对
Hacker_Dream
·
2020-07-31 13:50
c++
C++ 使用
智能指针
shared_ptr/unique_ptr管理数组
本篇博客主要关注如何安全地使用
智能指针
来管数组。零、要管理的类Connection是一个管理连接的类。
原我归来是少年
·
2020-07-31 13:17
C++
C++
智能指针
unique_ptr 详解与示例
unique_ptr是C++11提供的用于防止内存泄漏的
智能指针
中的一种实现,独享被管理对象指针所有权的
智能指针
。unique_ptr对象包装一个原始指针,并负责其生命周期。
梁启东
·
2020-07-31 12:10
C++基础知识
C++
智能指针
weak_ptr详解
一、背景weak_ptr这个指针是在C++11的时候引入的标准库,它的出现完全是为了弥补shared_ptr天生有缺陷的问题,其实相比于上一代的
智能指针
auto_ptr
来说,shared_ptr可以说近乎完美
物随心转,如是我闻
·
2020-07-31 12:09
C++
C++
智能指针
unique_ptr 详解
一、
智能指针
在C++中,动态内存的使用很容易出问题,因为要确保在正确的时间释放内存是极其困难的。
物随心转,如是我闻
·
2020-07-31 11:47
C++
boost::asio脱离boost独立编译(windows)
boost.asio强大的开源异步网络库,随着c++11的诞生,代码对boost的依赖已经逐步减少,因为boost的依赖库太过庞大,boost的很多优秀的模块都已经加入到c++11,如
智能指针
,auto
qq_29846883
·
2020-07-30 22:57
c++/c++11
boost.asio
shared_ptr的一些尴尬
智能指针
是万能良药?
智能指针
为解决资源泄漏,编写异常安全代码提供了一种解决方案,那么他是万能的良药吗?使用
lujun-cc
·
2020-07-30 22:29
编程技术
智能指针
及其作用
因此
智能指针
的作用就是为了保证使用堆上对象的时候,对象一定会被释放,但只能释放一次,并且释放后指向该对象的指针应该马上归0。二、C++11以前的
顽强的猫尾草
·
2020-07-30 22:19
智能指针
之make_unique与make_shared
make_unique的实现std::make_shared是C++11的一部分,但是std::make_unique很可惜不是。它是在C++14里加入标准库的,但我们可以自己实现make_unique方法。//支持普通指针templateinlinetypenameenable_if::value,unique_ptr>::typemake_unique(Args&&...args){retur
SigalHu
·
2020-07-30 21:47
C-C++
C++基础教程面向对象(学习笔记(82))
智能指针
简介和移动语义考虑一个我们动态分配值的函数:voidsomeFunction(){Resource*ptr=newResource;//Resource是一个结构或类//在这里做ptr的东西deleteptr
欧梅尼亚
·
2020-07-30 21:06
2018.12.3
C++
智能指针
与返回局部指针
智能指针
:对new对象进行智能的管理,跳出相关作用域会自动删除。不需要再调用delete。对象删除会自动调用析构函数。
路痴的旅行
·
2020-07-30 16:30
C++
智能指针
13_类族结构的进化
堆空间中创建异常对象失败时,返回NULL指针新增InvalidOperationException异常类:成员函数调用时,如果状态不正确则抛出异常SmartPointer类继承自Object类:堆空间中创建
智能指针
对象失败时
jacob2359
·
2020-07-30 15:03
为何优先选用unique_ptr而不是裸指针?
前言在《拥抱
智能指针
,告别内存泄露》中说到了内存泄漏问题,也提到了C++中的
智能指针
基本原理,今天就来说说类模板unique_ptr。在此之前,先回答读者的一个提问:C语言中该怎么办?
守望之名
·
2020-07-30 15:05
c-c++
ITK 中的
智能指针
与对象工厂演示-1
关于
智能指针
,一般有两种常用的策略,参考:
智能指针
;有一篇原创的
智能指针
写得不错:一个智能实现的改进。关于对象工厂,看到一篇写的不错的博文:泛化对象工厂简述。在ITK中将
智能指针
与对象工厂结合。
Yournero9
·
2020-07-30 13:34
ITK
DesignPattern
delete
存储
class
平台
object
callback
ITK 中的
智能指针
与对象工厂演示-2
6.对象工厂基类 //MyObjectFactoryBase.h#pragmaonce#include"MyCreateObjectFunction.h"#include#include#include////关于对象工厂,参考上面给出的文章,写得很不错,关于泛化对象工厂的原理阐述的很清晰.//泛化对象工厂:http://blog.csdn.net/azure1987/archive/2009/1
Yournero9
·
2020-07-30 13:34
ITK
DesignPattern
ITK 中的
智能指针
与对象工厂演示-3
11.测试
智能指针
//TestMySmartPointer.h#pragmaonce#ifdefined(_MSC_VER)#pragmawarning(disable:4786)#endif#include"MySmartPointer.h
Yournero9
·
2020-07-30 13:34
DesignPattern
ITK
解决g++编译添加参数"支持C++11标准"的问题
今天编写了关于
智能指针
的一个程序,使用g++smrtptrs.cpp-ot时,编译不过,最终发现是忘记加commandlineoption的问题。
逐鹿之城
·
2020-07-30 08:29
//【工具】
enable_shared_from_this
然而有些时候,我们需要的不仅是this,而是一个“this的
智能指针
”。这里有一个常见的场景:1234567891011121314151617181920212223c
一路阳光随行
·
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
学习笔记
《effective c++》阅读笔记 1
在观看过一部分该书的一部分内容之后,不由的觉得该书确实是集C++精华于一身,同时还加以科普了很多相对来说在一般老式课本难以见到的语法和语句,如
智能指针
等用法,并举出实例将该其与其他语法相对而言的优点凸显出来
真的不知道叫什么
·
2020-07-30 01:34
C++:
智能指针
之shared_ptr
1.
智能指针
C++中用new来动态分配内存,delete手动释放内存来达到动态管理内存的目的。因为保证在正确的时间释放内存是非常困难的,忘记释放内存就会产生内存泄露。
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++
上一页
36
37
38
39
40
41
42
43
下一页
按字母分类:
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
其他