C++标准模板库编程实战_序列容器
简述 array<T,N> 长度固定,N个T类型的对象 不能增加或删除元素 vector<T> 底层实现是封装了顺序表,是一块物理上连续的空间 长度可变,必要时可以自动增加容量 但只能在序列的末尾高效的增加或删除元素 deque<T> deque是由一段一...
简述 array<T,N> 长度固定,N个T类型的对象 不能增加或删除元素 vector<T> 底层实现是封装了顺序表,是一块物理上连续的空间 长度可变,必要时可以自动增加容量 但只能在序列的末尾高效的增加或删除元素 deque<T> deque是由一段一...
概述 关于shared_ptr智能指针对象管理内存的情况 不同的shared_ptr对象管理不同的内存 多个shared_ptr对象管理同一块内存 对于管理不同的内存 因为每个shared_ptr对象都有各自的控制块,因而引用计数独立,所有不存在问题 对于管理同一块内存 因为每个...
信号 概述 /usr/include/ 信号是进程间通信(IPC)的一种简单机制 信号提供了一种向进程传递通知和信息的方式,以便进程可以相应地做出反应 信号类型 SIGINT:当用户按下CTRL-C时,通常发送这个信号来中断进程 SIGTERM:用于正常终止进程,是kill命令的...
简述 SQLite3只是一个轻型的嵌入式数据库引擎,占用资源非常低,处理速度比Mysql还快,专门用于移动设备上进行适量的数据存取,它只是一个文件,不需要服务器进程。 SQL语句是SQL操作的指令,我们用C/C++访问数据库时,需要用char*即C字符串来保存SQL语句,然后调用...
About 文件md5计算。 mc_md5.h mc_md5.cpp
线程池 任务管理 任务定义 动态数量任务同步 根据请求到的目标数量解析任务,创建任务,并投入线程池 当任务解析成功或者成功添加时,使用fetch_add递增 当某个线程处理完成后,使用--(*pending)递减 并判断当前pending是否已经为0,为0则进行相关逻辑
概述 vector是单向开口的连续线性空间,而deque则是一种双向开口的连续线性空间。 所谓双向开口,是指可以在头尾两端分别做元素的插入和删除操作。 区别 和vector相比: deque运行常数时间内对起头端进行元素的插入和移除操作 deque没有所谓的容量的概念,因为他是动...
概述 本文介绍的关于toml就C++工程中的使用以及语法细节,皆基于下面这个版本的相关实现: https://github.com/ToruNiina/toml11.git 本文介绍的关于工程布局参考个人习惯以作示例。 添加模块 将下载下来的工程中的toml文件夹以及toml.h...
节点 迭代器 list迭代器必须有能力指向list的节点,并有能力进行正确的递增、递减、取值、成员存取等操作。 重要性质: 插入(insert)和结合(splice)都不会造成原有的list迭代器失效。 数据结构 SGI list不仅是一个双向链表,而且是一个环状双向链表。 示意...
timer timer 毫秒级别的精度。 <boost/timer.hpp> using namespace boost; progress_timer 派生自timer。 会在析构时自动输出流逝的时间。 <boost/progress.hpp> usin...
搜索当前标签