Boost库
michael019
这个作者很懒,什么都没留下…
展开
-
智能指针(二)
scoped_ptr有个特点是:所管理的对象的所有权不能被共享和转移,但是可以交换。1.问题:如何做到不被共享和转移? 查看其源码,得知:私有了拷贝构造函数和赋值运算符重载函数template<class T> class scoped_ptr // noncopyable{private: T * px; scoped_ptr(scoped_ptr const &); s原创 2015-09-11 11:40:40 · 322 阅读 · 0 评论 -
RAII技术
RAII(Resource acquisition is initialization)资源获取即初始化,它是一项很简单的技术,利用C++对象生命周期的概念来控制程序的资源,例如内存,文件句柄,网络连接以及审计追踪(audit trail)等. 若希望保持对某个重要资源的跟踪,那么创建一个对象,并将资源的生命周期和对象的生命周期相关联。即:调用类构造函数中初始化资源类对象,在调用类析构函数中释放资源转载 2015-09-10 15:14:08 · 554 阅读 · 0 评论 -
PIMPL
PIMPL(Private Implementation 或 Pointer to Implementation)是微软的Herb Sutter提出来,它通过一个私有的成员指针,将指针所指向的类的内部实现数据进行隐藏。 先观察以下两种头文件实现方式 第一种:#include "Animal.h"class Test{public: void Fun();private:转载 2015-09-10 16:07:45 · 423 阅读 · 0 评论 -
Boost库安装与使用
Boost库是为C++语言标准库提供扩展的一些C++程序库的总称。 可下载Boost C++ Libraries安装boost库。大部分boost库功能的使用只需包括相应头文件即可,少数(如正则表达式库,文件系统库等)需要链接库。里面有许多具有工业强度的库,如graph库。 想要了解更多信息可以浏览官方网站:http://www.boost.org windows下boost库安装步骤:(ID原创 2015-09-02 17:50:04 · 424 阅读 · 0 评论 -
Boost 库应用——智能指针(一)
#include <iostream>#include <boost/scoped_ptr.hpp>#include <boost/shared_ptr.hpp>using namespace std;//智能指针是利用RAII(资源获取即初始化)来管理资源的。//本质思想://将堆对象的生命周期用栈对象(智能指针)来管理,因为栈对象是有生命周期的,当生命周期结束时自动调用析构函数释放内存原创 2015-09-02 18:14:30 · 271 阅读 · 0 评论