码迷,mamicode.com
首页 >  
搜索关键字:auto_ptr    ( 227个结果
智能指针
1.?auto_ptr? auto_ptr 类可以用于管理由 new 分配的单个对象,但是无法管理动态分配的数组(我们通常不会使用数组,而是使用 vector 代替数组)。auto_ptr 在拷贝和赋值的时候有不寻常的行为,因此 auto_ptrs ...
分类:其他好文   时间:2015-08-28 13:42:07    阅读次数:207
Item 14:资源管理类要特别注意拷贝行为 Effective C++笔记
Item 14: Think carefully about copying behavior in resource-managing classes. 在Item 13:使用对象来管理资源中提出了基于RAII的资源管理对象,auto_ptr和shared_ptr。 智能指针可以有不同的拷贝策略。当你实现这样一个资源管理对象时,需要特别注意。比如一个典型的RAII风格的互斥锁实现:...
分类:编程语言   时间:2015-08-27 11:14:40    阅读次数:205
智能指针(三):unique_ptr使用简介
我们知道auto_ptr通过复制构造或者通过=赋值后,原来的auto_ptr对象就报废了.所有权转移到新的对象中去了.而通过shared_ptr可以让多个智能指针对象同时拥有某一块内存的访问权.但假如我们不希望多个内存块被多个智能指针对象共享,同时又不会像auto_ptr那样不知不觉的就让原来的au...
分类:其他好文   时间:2015-08-17 15:24:40    阅读次数:123
智能指针(二):shared_ptr实现原理
前面讲到auto_ptr有个很大的缺陷就是所有权的转移,就是一个对象的内存块只能被一个智能指针对象所拥有.但我们有些时候希望共用那个内存块.于是C++ 11标准中有了shared_ptr这样的智能指针,顾名思义,有个shared表明共享嘛.所以shared_ptr类型的智能指针可以做为STL容器的元...
分类:其他好文   时间:2015-08-17 15:20:34    阅读次数:114
智能指针(一):STL auto_ptr实现原理
智能指针实际上是一个类(class),里面封装了一个指针.它的用处是啥呢?指针与内存说到指针自然涉及到内存.我们如果是在堆栈(stack)中分配了内存,用完后由系统去负责释放.如果是自定义类型,就会自动的去调用你的析构函数.但如果是在堆(heap)中分配了内存,也就是用malloc或者new.那只能...
分类:其他好文   时间:2015-08-17 15:19:56    阅读次数:122
【C++】智能指针auto_ptr
C++的auto_ptr所做的事情,就是动态分配对象以及当对象不再需要时自动执行清理,使用std::auto_ptr,要#include 。 实现代码如下: #include #include using namespace std; //#define _THROW0() throw ()抛出全部异常 template class auto_ptr { public: /...
分类:编程语言   时间:2015-08-16 12:21:41    阅读次数:145
C++安全异常std:auto_ptr
auto_ptr它是C++标准库()为了一个智能指针类模板来解决资源泄漏所提供的问题(注意:这只是一个简单的智能指针)auto_ptr在事实原则的实现RAII,对资源的访问,在施工时间。释放资源时,析构函数,而相关的指针操作超载。使用起来就像普通的指针。std::auto_ptr pa(new Cl...
分类:编程语言   时间:2015-08-13 08:49:24    阅读次数:229
【C++智能指针 auto_ptr】
《More Effective C++》ITEM M9他提到auto_ptr。说是当异常产生的时候。怎么释放为对象分配的堆内存,避免反复编写内存释放语句。PS:这里书里面提到函数退出问题,函数退出会清理栈内存,无论是怎么正常退出还是异常退出(仅有一种例外就是当你调用 longjmp 时。Longjm...
分类:编程语言   时间:2015-08-08 11:41:18    阅读次数:144
C++ Primer 学习笔记_24_类与数据抽象(10)--static 与单例模式、auto_ptr与单例模式、const成员函数、const 对象、mutable修饰符
C++ Primer 学习笔记_24_类与数据抽象(10)--static 与单例模式、auto_ptr与单例模式、const成员函数、const 对象、mutable修饰符 前言 【例】写出面向对象的五个基本原则? 解答:单一职责原则,开放封闭原则,依赖倒置原则,接口隔离原则和里氏替换原则 里氏替换原则:子类型必须能够替换他们的基类型。     设计模式分为三种...
分类:编程语言   时间:2015-08-03 01:15:15    阅读次数:175
c++11 智能指针
如果在程序中使用new从堆(自由存储区)分配内存,等到不需要时, 应使用delete将其释放。c++引入了智能指针auto_ptr, 以帮助自动完成这个过程。 c++11摒弃了auto_ptr,并新增了三种智能指针:unique_ptr, shared_ptr, weak_ptr。 一. auto_ptr, unique_ptr , shared_ptr 头文件:  #include...
分类:编程语言   时间:2015-07-30 00:46:46    阅读次数:271
227条   上一页 1 ... 10 11 12 13 14 ... 23 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!