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
智能指针之
auto_ptr
智能指针实际上是一个类(class),里面封装了一个指针指针与内存说到指针自然涉及到内存.我们如果是在堆栈(stack)中分配了内存,用完后由系统去负责释放.如果是自定义类型,就会自动的去调用你的析构函数.但如果是在堆(heap)中分配了内存,也就是用malloc或者new.那只能自动手动的使用free或delete去释放.所以使用heap时处理的不好很容易出现啥内存泄露(内存没有释放掉).或者如
chanlp129
·
2013-05-21 22:00
Effective C++ 读书笔记之Part3.Resource Management
第二,两个常被使用的RAIIclass分别是tr1::shared_ptr和
auto_ptr
。前者通常是较佳选择,因为其copy行为比较直观。
snsn1984
·
2013-05-17 15:00
编程
C++
读书笔记
入门
语言
探究c++智能指针中auto_ptr_ref的存在意义
在这里我假设大家都阅读过这本书的
auto_ptr
相关知识了,如果不太明白可以去看考该书第四章的相关部分。
·
2013-05-15 19:00
auto
一个简单的类似
auto_ptr
的类
保证发生异常后,动态创建的对象被正确删除。#include #include using namespace std;templateclass PWrap{ T* ptr;public: PWrap() { ptr=new T[sz]; } ~PWrap() { delete [] ptr; } T& operator[](int i) { if(i>=0&&i ivar; ivar[0
lihaichuan
·
2013-05-13 16:07
封装指针
C++ 智能指针详解
包括:std::
auto_ptr
、boost::scoped_ptr、boost::
chenglinhust
·
2013-05-04 16:00
STL中的内存分配器原理
关于内存管理的话题,大致有两类侧重点,一类是内存的正确使用,例如C++中new和delete应该成对出现,用RAII技巧管理内存资源,
auto_ptr
等方面,很多C/C++书籍中都使用技巧的介绍。
yongjunhe
·
2013-05-02 14:00
STL中的内存分配器原理
关于内存管理的话题,大致有两类侧重点,一类是内存的正确使用,例如C++中new和delete应该成对出现,用RAII技巧管理内存资源,
auto_ptr
等方面,很多C/C++书籍中都使用技巧的介绍。
effective_coder
·
2013-05-02 00:00
关于scoped_ptr智能指针
今天把chromium的开发环境搭建起来了,简单的看了一下里面的代码,发现里面大量的用了scoped_ptr智能指针,哎,都快忘记这个玩意了,又找资料复习一下,废话不说了scoped_ptr和
auto_ptr
miaoweiye
·
2013-04-28 16:00
智能指针作为函数参数:普通参数、指针参数、WPARAM
一、
auto_ptr
和shared_ptr作为普通参数、指针参数 我想这是我们使用最多的,直接传过去好了,基本上没什么好担心的。例如: 1.
Alsmile
·
2013-04-27 14:00
参数
shared_ptr
auto_ptr
WPARAM
Boost智能指针——scoped_ptr、shared_ptr、weak_ptr、intrusive_ptr
一、scoped_ptrboost::scoped_ptr和std::
auto_ptr
非常类似,是一个简单的智能指针,它能够保证在离开作用域后对象被自动释放。
yockie
·
2013-04-23 15:00
C++ 智能指针类
众所周知,在TR1之前,C++标准库中的智能指针只有
auto_ptr
,但由于它的【排他所有权模式】(exclusiveownershipmodel)导致了许多问题,为解决,C++TR1中引入了boost
heyabo
·
2013-04-12 10:00
智能指针
auto_ptr
(C++ Primier-8)
8.4.2
auto_ptr
>是C++标准库提供的类模板,帮助自动管理用new表达式动态分配的单个对象;Note对new表达式分配的数组管理没有支持,不能用
auto_ptr
存储数组,结果是未定义的;>autp_ptr
RoyMuste
·
2013-04-05 14:00
auto_ptr
& shared_ptr
auto_ptr
和shared_ptr都是智能指针的一种实现,所谓智能指针,多数情况下都是指这样的一些对象: 1. 内部有一个动态分配对象的指针,拥有该对象的使用权和所有权(独占或共享)。2.
zhu2695
·
2013-04-04 11:00
shared_ptr
auto_ptr
C++可怜的内存管理机制漫谈及奇怪补救
auto_ptr
介绍
一直以来C++遵循着一种哲学式的美学设计。很重要的一条就是不为你不需要的付出代价。就我目前所知,整个C++仅仅只在虚函数和多重继承中违背了这条原则。很多非常有用的东西都因为这条原理而否定了。因此C++才能保持着一条定律,那就是只要程序员足够厉害,C++可以足够的快,因为程序员几乎掌握着一切可以用来优化的东西。其中,资源回收系统就是因为这样被否决了。以前一直不觉得怎么样,因为C++社群的舆论导向,
SprintfWater
·
2013-04-04 01:00
Google特有戏法
不要使用
auto_ptr
。定义: 智能指针实际上跟普通的指针一样,只是它自动对内存进行管理。优点: 智能指针对防止内存泄漏非常有用,对写异常安全的代码很有
hai200501019
·
2013-03-31 13:00
C++
auto_ptr
智能指针
auto_ptr
的设计动机:对于一般的常规指针,在动态分配内存时需要手动的delete掉所占内存,但是难免有疏忽的时候,那么将会对程序造成致命的危险,所以
auto_ptr
智能指针便应运而生,他本身是一个对象
effective_coder
·
2013-03-28 20:00
STL
STL总体说明
讲解主线:1:讲解STL中的通用工具,比如pair对组,
auto_ptr
智能指针。2:讲解STL中的标准容器,vectorlistduquesetmap等等。3:讲解STL中的迭代器以及迭
lloil
·
2013-03-28 20:15
C++
STL
STL总体说明
讲解主线:1:讲解STL中的通用工具,比如pair对组,
auto_ptr
智能指针。2:讲解STL中的标准容器,vector list duque set map 等等。3:讲解STL
effective_coder
·
2013-03-28 20:00
STL
笔记--异常
3异常~~~~~~~3.1防止构造函数在存在异常时发生资源泄露========================================= 1.如果你用对应的
auto_ptr
对象替代指针成员变量
lujun9972
·
2013-03-26 07:18
C++
C++
C++
异常
effective
effective
more
高效C++
C++面试时的知识盲点
4、
auto_ptr
与vector一起使用,会有什么问题/5、嵌套类如何构造?6、virtualpublic和publicvirtual之间的区别?7、<<操作符可以模板化,而不能特化,正确吗?
dqjyong
·
2013-03-23 19:00
智能指针(三):unique_ptr使用简介
我们知道
auto_ptr
通过复制构造或者通过=赋值后,原来的
auto_ptr
对象就报废了.所有权转移到新的对象中去了.而通过shared_ptr可以让多个智能指针对象同时拥有某一块内存的访问权.但假如我们不希望多个内存块被多个智能指针对象共享
聪明的笨蛋
·
2013-03-22 22:34
4)
C++
智能指针(三):unique_ptr使用简介
我们知道
auto_ptr
通过复制构造或者通过=赋值后,原来的
auto_ptr
对象就报废了.所有权转移到新的对象中去了.而通过shared_ptr可以让多个智能指针对象同时拥有某一块内存的访问权.但假如我们不希望多个内存块被多个智能指针对象共享
weiwenhp
·
2013-03-22 22:00
智能指针(二):shared_ptr实现原理
前面讲到
auto_ptr
有个很大的缺陷就是所有权的转移,就是一个对象的内存块只能被一个智能指针对象所拥有.但我们有些时候希望共用那个内存块.于是C++11标准中有了shared_ptr这样的智能指针,顾名思义
weiwenhp
·
2013-03-22 20:00
智能指针(一):STL
auto_ptr
实现原理
智能指针实际上是一个类(class),里面封装了一个指针.它的用处是啥呢?指针与内存说到指针自然涉及到内存.我们如果是在堆栈(stack)中分配了内存,用完后由系统去负责释放.如果是自定义类型,就会自动的去调用你的析构函数.但如果是在堆(heap)中分配了内存,也就是用malloc或者new.那只能自动手动的使用free或delete去释放.所以使用heap时处理的不好很容易出现啥内存泄露(内存没
weiwenhp
·
2013-03-22 19:00
auto_ptr
auto_ptr
是当前C++标准库中提供的一种智能指针,或许相对于boost库提供的一系列眼花缭乱的智能指针,或许相对于Loki中那个无所不包的智能指针,这个不怎么智能的智能指针难免会黯然失色。
jisuanji2121
·
2013-03-21 17:00
C++深度探索系列:智能指针(Smart Pointer)
看原帖http://www.360doc.com/content/13/0307/12/11715662_269843252.shtml主题索引:一、剖析C++标准库智能指针(std::
auto_ptr
zswnet
·
2013-03-07 12:29
C++
《Effective C++第三版》读书笔记――资源管理
3资源管理~~~~~~~~~~~3.1以对象管理资源=================== 1.标准程序库提供的
auto_ptr
,其析构函数自动对所指对象调用delete.
lujun9972
·
2013-03-04 21:55
C++
资源管理
[Boost基础]内存管理——智能指针(二)
不像std::
auto_ptr
,作用域指针不能传递它所包含的对象的所有权到另一个作用域指针。一旦用一个地址来初始化,这个动态分配的对象将在析构阶段释放。因为一个作用域指针只是简单保存和独占一个内存地
ouyangshima
·
2013-03-01 21:00
[Boost基础]内存管理——智能指针(一)
虽然C++标准提供了智能指针std::
auto_ptr
,但并没有解决所有问题。计算机系统中资源有很多种,内存是我们最常用到的,此外还有文件描述符,socket,操作系统han
ouyangshima
·
2013-02-28 12:00
智能指针(
auto_ptr
和 shared_ptr)
http://www.cppblog.com/expter/archive/2009/03/29/78270.html都是这周看书以及代码的总结: Stl 中
auto_ptr
只是众多可能的智能指针之一
ywh147
·
2013-02-26 18:00
boost库在工作(6)作用域智能指针scoped_ptr之五
通过前面智能指针的学习,应了解到std::
auto_ptr
的使用和局限性,从而引发boost库针对这些情况提供了更多的智能指针,其中scoped_ptr就是针对std::
auto_ptr
的而提供的。
caimouse
·
2013-02-05 20:00
boost库在工作(4)作用域智能指针scoped_ptr之三
标准模板库里的智能指针std::
auto_ptr
,一般情况下,只适合在函数中使用,当离开这个函数时,就可以自动删除分配的资源。典型的情况有两种,一种是当一个函数代码比较多,判断条件很多,这样出口很多。
caimouse
·
2013-02-03 11:00
智能指针
auto_ptr
类可以用于管理由new分配的单个对象,但是无法管理动态分配的数组(我们通常不会使用数组,而是使用vector代替数组)。
lanbing510
·
2013-01-30 21:00
为什么
auto_ptr
智能指针不能作为STL标准容器的元素
上个星期的博客shared_ptr源码剖析里其实遗漏了一个问题:为什么
auto_ptr
不可以作为STL标准容器的元素,而shared_ptr可以?
costaxu
·
2013-01-26 12:00
启迪思维:顺序存储
在阅读本片代码的时候注意一下几点(请参考Effective C++):1、用了泛型技术:templeate 2、const 引用 3、
auto_ptr
·
2013-01-22 15:00
顺序
auto_ptr
、shared_ptr、weak_ptr、scoped_ptr用法小结
auto_ptr
auto_ptr
是现在标准库里面一个轻量级的智能指针的实现,存在于头文件memory中,之所以说它是轻量级,是因为它只有一个成员变量(拥有对象的指针),相关的调用开销也非常小。
lollipop_jin
·
2013-01-14 09:00
STL--智能指针(
auto_ptr
)
auto_ptr
会在复制构造时,将原指针自动删除,将使用权交给其复制的对象.
myjoying
·
2012-12-27 15:00
C++——
auto_ptr
类
auto_ptr
类可以用于管理由new分配的单个对象,但是无法管理动态分配的数组(我们通常不会使用数组,而是使用vector代替数组)。
sunmenggmail
·
2012-12-18 22:00
c++标准程序库----p55----为什么需要auto_ptr_ref?
于是,结合
auto_ptr
的源代码,google之、baidu之,找了一推资料,终于初步 搞清该问题。
mysileng
·
2012-12-16 16:00
[置顶] 从源码来看
auto_ptr
的特性
然而对于
auto_ptr
来说,它的规则也挺难记,有时候,我也在想,为什么会有这些规则呢,1)两个
auto_ptr
不能同时拥有同一个对象2)我们不应该用
auto_ptr
来管理一个数组指针。
rao_warrior
·
2012-12-14 14:00
scoped_ptr
scoped_ptr被设计用来取代std::auto_ptr.回忆一下
auto_ptr
的功能,参考我
sheismylife
·
2012-12-10 15:00
linux 内核引用计数
现代的C/C++类库一般会提供智能指针来作为内存管理的折中方案,比如STL的
auto_ptr
,Boost的Smart_ptr库,QT的QPointer家
uyiwfn
·
2012-12-03 14:00
c++ resource allocation new statement
Performeveryresourceallocation(e.g.,new)initsowncodestatementwhichimmediatelygivesthenewresourcetoamanagerobject(e.g.,
auto_ptr
shangtang004
·
2012-11-27 10:00
C++中的异常处理(二)
为了处理这样的问题,可以使用C++标准库
auto_ptr
类。如果使用下面的代码,内存就一定会被释放#include intmain() { std::auto_ptrpt
zhy_cheng
·
2012-11-24 20:00
Boost智能指针——scoped_ptr
Boost智能指针——scoped_ptrboost::scoped_ptr和std::
auto_ptr
非常类似,是一个简单的智能指针,它能够保证在离开作用域后对象被自动释放。
DotNetFirst
·
2012-11-22 20:00
C++ 标准库中函数所对应的头文件(转)
==========abort accumulate allocator
auto_ptr
hemeinvyiqiluoben
·
2012-11-12 13:00
auto_ptr
实例
class Int { public: Int(int i) { cout &pi ) { ++( *pi );
auto_ptr
li744831579
·
2012-10-21 20:00
auto_ptr
auto_ptr
用法
namespace std { template class
auto_ptr
{ private: T* ap; public:
li744831579
·
2012-10-21 20:32
auto_ptr
智能指针 shared_ptr
shared_ptr也可以安全地放到标准容器中,并弥补了
auto_ptr
因为转移语义而不能把指
mmzsyx
·
2012-10-18 16:00
设计模式
工作
vector
delete
iterator
存储
智能指针 scoped_ptr
scoped_ptr: scoped_ptr是一个类似
auto_ptr
的智能指针,它包装了new操作符在堆上分配的动态对象,能够保证动态创建的对象在任何时候都可以被正确的删除。
mmzsyx
·
2012-10-18 16:00
c
测试
delete
上一页
13
14
15
16
17
18
19
20
下一页
按字母分类:
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
其他