RAII(ResourceAcquisitionIsInitialization)资源分配即初始化,定义一个类来封装资源的分配和释放,在构造函数完成资源的分配和初始化,在析构函数完成资源的清理,可以保证资源的正确初始化和释放。------------------------------------------------------------------------..
分类:
其他好文 时间:
2016-08-26 23:02:44
阅读次数:
198
在包含指针的类中需要注意复制控制,复制指针时只复制指针中的地址,不会复制指针指向的对象。 大多数c++类采用三种方法管理指针成员: 1)指针成员采用常规指针型行为。 2)采用智能指针 3)采取值型行为 常规指针缺陷:可能会出现悬垂指针。当一个指针复制到另一个指针,两个指针指向同一个对象,当一个指针删 ...
分类:
其他好文 时间:
2016-08-21 06:23:48
阅读次数:
143
弱指针boost::weak_ptr的定义在boost/weak_ptr.hpp里。到目前为止介绍的各种智能指针都能在不同的场合下独立使用。相反,弱指针只有在配合共享指针一起使用时才有意义。因此弱指针被看作是共享指针的观察者,用来观察共享指针的使用情况。当用到共享指针时,就要考虑是否需要使用弱指针了 ...
分类:
其他好文 时间:
2016-08-13 21:09:50
阅读次数:
185
共享指针 这个智能指针命名为boost::shared_ptr,定义在boost/shared_ptr.hpp里。智能指针boost::shared_ptr基本上类似于boost::scoped_ptr。关键不同之处在于boost::shared_ptr不一定要独占一个对象。它可以和其他boost: ...
分类:
其他好文 时间:
2016-08-13 20:55:42
阅读次数:
251
C++ 智能指针详解 一、简介 由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete 的情况并不罕见。 用智能指针便可以有效缓解这类问题,本文主要讲 ...
分类:
编程语言 时间:
2016-08-07 21:43:51
阅读次数:
264
出现智能指针的原因用智能指针,把申请内存的工作都在接口内部实现并加以限制,把释放内存的工作交给智能指针。常见的智能指针1.你知道智能指针吗?智能指针的原理。2.常用的智能指针。3.智能指针的实现。1答案:智能指针是一个类,这个类的构造函数中传入一个普通指针,析构函..
分类:
其他好文 时间:
2016-08-01 14:05:08
阅读次数:
154
条款17:以独立语句将New对象放置入智能指针。 1、以独立语句将newed对象放置入智能指针内,如果不这样做,一旦异常被抛出,有可能导致难以察觉的资源泄露。 void name(shared_ptr<管理对象类型>(new 管理对象类型),其它函数)),New被分配内存不一定马上放入管理对象,因为 ...
分类:
编程语言 时间:
2016-07-31 17:43:30
阅读次数:
151
1、weak_ptr(1)、weak_ptr是为了配合shared_ptr而引入的智能指针,它更像是shared_ptr的一个助手,它不具有普通指针的行为,没有重载operator*和->,它的最大作用在于协助shared_ptr工作,像旁观者那样观测资源的使用情况。(2)、2个重要接口:boolexpired()const;//判断是..
分类:
其他好文 时间:
2016-07-31 16:06:26
阅读次数:
168
1、共享性智能指针(shared_ptr)引用计数型指针shared_ptr是一个最像指针的“智能指针”,是boost.smart_ptr库中最有价值,最重要,也是最有用的。shared_ptr实现的是引用技术型的智能指针,可以被拷贝和赋值,在任意地方共享它,当没有代码使用(此时引用计数为0)它才删除被动态..
分类:
其他好文 时间:
2016-07-30 22:48:26
阅读次数:
300
本文主要从C++11关键字及语法、STL容器、多线程、智能指针内存管理和std::function、std::bind、lamda表达式等方面介绍C++11的特性,也加入了博主在工作中的使用经验之谈。 ...
分类:
编程语言 时间:
2016-07-30 13:22:20
阅读次数:
500