【C++后端学习】03、 C++语言基础_boost库_

一、时间与日期

timer

(精度不高,可移植性低,不建议使用)

date_time

特性:基于日常使用的公历,提供与时间相关的功能,与c语言的传统时间结构相互转换。
默认时间为微妙,也可以返回纳秒。
boost::gregorian;
boost::posix_time;

二、内存管理

smart_ptr (C++11已收录)

make_shared代替new,比直接创建shared_ptr更高效,内部仅分配一次内存。

pool

预先分配一块大的内存空间,然后定制内存分配。
pool

pool(size_type requested_size);  // 构造函数
void* malloc();           // 分配内存,大小为requested_size
bool is_form(void* chunk) const;  // 
void free(void* chunk);    // 归还内存
bool release_memory(); 	// 释放未分配内存
bool purge_memory();  // 释放所有内存

object_pool 用于类实例

object_pool();                // 构造函数
element_type* malloc(); // 分配内存
voude free(element_type * p)const; // 归还内存
bool is_form(element_type * p) const;  // 判断对象
element_type * construct(...);       // 创建对象
void destory(element_type * p);   // 销毁对象

singleton_pool :单例模式的内存池

三、实用工具

1、noncopyable 不可复制标识符

 class do_no_copy(): boost::noncopyable 

2、ignore_unused 表示暂时不用的变量

ignore_unused(...) 

3、optional 选项值(已收录到C++17)

可看做一个大小为1且行为类似于指针的容器

4、assign

using namespace boost::assign

5、tribool 三态布尔逻辑

true、false、indeterminate
6、operators 操作符推导

equality_comparable:
less_than_comparable
addable
subtractable
incrementable
decrementable
eqyivalent
示例:class point:boost::less_than_comparable<point> {};

7、exception(部分特性已收录)
8、uuid 全球唯一标识符

boost::uuid u;

9、config boost开发者使用
10、utility

二进制常量 BOOST_BINARY(0110)
调用函数名 BOOST_CURRENT_FUNCTION

四、字符串与文本处理

format

五、正确性与测试

BOOST_ASSERT
BOOST_ASSERT_MSG
BOOST_STATIC_ASSERT
BOOST_STATIC_ASSERT_MSG
lightweight_test

六、容器与数据结构

<暂不使用>

七、算法

foreach
algorithm

八、数学与数字

<暂不使用>
math.constant
ratio
crc
random

九、操作系统相关

system(C++11已收录)
封装错误码
chrono (C++11已收录)

时间长度duration
时钟clock
时间点time_point

cpu_timer

常用时间度量
wall:挂钟时间,进程运行的实际时间
user:用户cpu时间,进程执行用户治理使用的cpu时间
system:系统cpu时间,进程执行系统内核调用使用的cpu时间

filesystem (C++17已收录)

路径处理:path, portable_posix_name(),windows_name()
文件状态:file_status
文件属性:initial_path(),current_path(),file_szie(), last_write_time()
文件操作:create_directory(),rename(),remove(),copy_file(),create_symlink()
迭代目录:directory_iterator

program_options 命令行参数解析

选项值 typed_value
选项描述器 option_description、options_description
分析器:parse_command_line();
存储器:variables_map
环境变量:parse_environment()

十、函数与回调

ref (c++11已收录):应用代理模式,引入对象包装器
bind (c++标准库的增强):函数适配器,可调用对象包括(函数指针、函数引用、成员函数指针、函数对象及lambda表达式),真正的威力在于占位符
function:函数对象容器或泛化函数指针,以对象形式封装原始的函数指针或函数对象,能容纳任何符合函数签名的可调用对象,应此被用于回调机制,。与auto 相比,运行时获取,可以拷贝、赋值等。
signals2:线程安全的观察者模式(信号与槽机制),重要函数connect\disconnect\num_slots, 类似于一个增强的function类。

十一、并发编程

atomic (c++11已收录)
thread (c++11已收录)
asio 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值