
Boost C++ Library
记录Boost 库的学习,希望能和大家一起交流
lycclsltt
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
boost库学习之 scoped_ptr scoped_array
boost.smart_ptr库提供了六种智能指针:scoped_ptr、scoped_array、shared_ptr、shared_array、week_ptr和intrusive_ptr。说到智能指针,我们会想到c++98标准中的自动指针auto_ptr.auto_ptr获取指针所有权后,离开作用域时自动释放该指针指向的堆内存。也可以转移指针的所有权。auto_ptr ap_a1(new原创 2015-01-30 20:51:15 · 9406 阅读 · 0 评论 -
boost库学习之 shared_ptr
shared_ptr与scoped_ptr都包装在堆上分配的动态对象,都重载了*和->操作符以模仿原始指针行为,但shared_ptr实现的是引用计数型的智能指针,当没有代码使用时计数为0,此时释放被包装的动态分配的内存。shared_ptr可以被自由地拷贝和赋值。shared_ptr可以安全地放到标准容器中。引用《boost程序库完全开发指南》中的话:“shared_ptr非常有价值、非常重要、原创 2015-01-30 20:47:41 · 9792 阅读 · 0 评论 -
boost库学习之 pool库
简单来说内存池预先分配了一块大的内存空间,然后在其中使用某种算法高效快速的自定制内存分配。pool库包含四个组成部分,最简单的pool,分配类实例的object pool,单件内存池singleton_tool和用于标准库的pool_alloc.为了使用pool组件,需要包含头文件。操作函数:pool的构造函数接受一个size_type类型的整数request_size,指示每次pool分配内存原创 2015-01-30 20:42:06 · 9783 阅读 · 0 评论 -
boost库学习之 noncopyable
c++中定义一个类时,如果不明确定义拷贝构造函数和拷贝赋值操作符,编译器会为我们自动生成这两个函数如class TestClass{public: TestClass(const TestClass&); TestClass& operator=(const TestClass&);};如何防止类的实例被拷贝呢?可以将拷贝构造函数和拷贝赋值操作符定义为privateclass TestC原创 2015-01-30 20:33:58 · 9069 阅读 · 0 评论 -
boost库学习之 lexical_cast
在C中字符串转换为数值,可以使用atoi()、atof()、atol()等,数值转换为字符串可以使用itoa()、sprintf()等,但itoa与编译器有关,并不是标准函数,而sprintf可能会不安全。使用lexical_cast可以很容易地在数值与字符串之间转换,只需在模板参数中指定转换的目标类型即可。如 int x = lexical_cast("100"); long原创 2015-01-30 20:11:07 · 9566 阅读 · 0 评论 -
boost库学习之 date_time库
date_time库是一个全面灵活的日期时间库,提供时间相关的各种所需功能,也是一个比较复杂的库。它支持从1400-01-01到9999-12-31之间的日期计算。使用时包含#include 头文件。引用boost::gregorian;命名空间日期日期date是date_time库中的核心类。以天为单位表示时间点。常用方法 date d1;原创 2015-01-04 20:47:28 · 9722 阅读 · 0 评论 -
boost库学习之 timer库
timer是一个很小的库,提供简易的时间度量和进度显示,包括timer、progress_timer、progress_display三个类。不适合高精度的时间测量任务,精度依赖于操作系统或编译器,可提供的最大时间跨度只有几百个小时,不适合大跨度的时间段测量。timer类先来看一下标准库如何计时:#include #include using namespace std;原创 2014-12-27 12:40:48 · 1776 阅读 · 2 评论 -
vs2012 boost库安装配置
www.boost.org下载boost库,解压打开vs2012的Visual Studio Tools中的VS2012 x86 Native Tools Command Prompt进入boost库目录执行bootstrap.bat,生成bjam.exe工具执行bjam toolset=msvc-12.0 variant=debug,release threa原创 2014-12-26 20:15:05 · 10285 阅读 · 0 评论