时间类:
1. timer类可以用来计时,progress_timer继承timer,在析构的时候会自动调用elapsed()函数,显示计时时间。
2. progress_display可以显示一个cui下面的进度条,需要在终端下面显示进度的可以用这个类
3. date类内部存储了一个32位的天数,因此可以作为基本类型用,对应的时长类为date_duration,对应的区间类为date_period。 day_clock::local_day()返回今天
4. day_iterator, year_iterator提供天,年的迭代。boost::gregorian::gregorian_calender::is_leap_year()可以判断年份是否是闰年
5. 时间点类:ptime使用64位(微秒)或者96位(纳秒) 时间时长类:time_duration。一般支持到微秒,可以通过宏BOOST_DATE_TIME_POSIX_TIME_STD_CONFIG调整,支持到纳秒 时间区间:time_period time迭代器:time_iterator提供对时间的迭代。利用ptime可以实现高精度计时器
内存:
1. 智能指针要求所指的类型的析构函数不能抛出异常
2. scoped_ptr拷贝构造函数和赋值操作符被申明为私有,禁止对这种指针进行复制,适用的场景为只在一定生命周期的范围内使用,不能转移对象所有权。不能做容器元素。scoped_array用来代理数组指针,只提供数组访问方式。
3. shared_ptr计数方式的智能指针,支持拷贝和复制,可以在容器内使用,线程安全。make_shared<T>工厂函数,可以消除显示的new调用。shared_ptr构造函数,还可以指明一个
函数指针,这样在对象删除的时候调用的不是delete,而是被指明的函数。这个被称为shared_ptr删除器。shared_array用来保存数组指针
4. weak_ptr是配合shared_ptr的一个智能指针,没有重载operator*和->。最大的作用是观测shared_ptr的使用情况,也可以通过函数lock得到一个shared_ptr指针,使用资源。当资源的引用为0时,lock返回null。可以帮助解决循环引用的情况。
5. pool, object_pool, singleton_pool和pool_alloc四种形式的内存池,其中object_pool提供对类对象的管理
实用工具:
1. noncopyable帮助实现一个禁止复制的类, 需要继承,其实我更喜欢直接自己将拷贝构造函数和赋值函数设成private
2. singleton单件类
现在做的项目正好在用boost库,书暂时不看了,这段是实际项目中用到的: