学起来有一点费劲…

安装

1
2
3
4
git clone https://github.com/boostorg/boost --depth=1 --recursive

cd boost
./bootstrap.sh; ./b2 install

时间与日期

timer

  • 就一个秒表

progress_timer

  • 析构的时候自动输出时间

progress_display

  • 在控制台上显示程序执行进度

date_time

  • 三个基本概念

    • 时间点
    • 时间段
    • 时长
  • date_time库的日期基于格里高利历,支持1400-01-01到9999-12-31之间的日期计算

内存管理

RAII

  • Resource Acquisition is Initialization

scoped_ptr

  • 只能在一个作用域里使用的指针
  • 不能拷贝,不能转让

unique_ptr

  • 相比scoped_ptr,支持移动赋值。

shared_ptr

  • 内部维护了引用计数,当计数为0时,释放资源
  • 别名构造
    • 共享引用计数,指向不同的对象
    • 可用来避免使用成员变量时,对象已被释放?

weak_ptr

  • 用来破除循环引用
  • weak不增加引用计数,在使用时才转换为shared_ptr

特性

  • 自定义字面值

参考文献

  • Boost程序库完全开发指南 罗剑锋