C++ 标准模板库 STL
罪の一十一
这个作者很懒,什么都没留下…
展开
-
condition_variable 条件变量
文章目录条件变量头文件condition_variable公共方法waitwait(_Lck)流程图示例错误示例:等待前通知,导致无法获得通知wait(_Lck, _Pred)流程图示例:等待后通知示例:等待前通知错误示例:通知线程不加lock可能出现的问题解决方案:加入lock总结相关参考条件变量条件变量是允许多个线程相互交流的同步原语。它允许一定量的线程等待(可以定时)另一线程的提醒,然后...原创 2019-08-14 10:18:36 · 7162 阅读 · 2 评论 -
mutex 通用互斥管理
文章目录通用互斥管理lock_guardunique_lock成员函数defer_lock, try_to_lock, adopt_lock相关参考通用互斥管理名称描述lock_guard实现严格基于作用域的互斥体所有权包装器scoped_lock用于多个互斥体的免死锁 RAII 封装器unique_lock实现可移动的互斥体所有权包装器shared...原创 2019-08-12 13:37:41 · 172 阅读 · 0 评论 -
mutex 互斥
文章目录互斥mutex 类要求公共方法注意lockunlocktry_lock相关参考互斥互斥算法避免多个线程同时访问共享资源。这会避免数据竞争,并提供线程间的同步支持。mutex 类mutex 类是能用于保护共享数据免受从多个线程同时访问的同步原语。mutex 提供排他性非递归所有权语义:调用方线程从它成功调用 lock 或 try_lock 开始,到它调用 unlock 为止占有...原创 2019-08-12 12:52:40 · 321 阅读 · 0 评论 -
thread 线程
文章目录线程thread 类要求公共方法joindetachget_idjoinablehardware_concurrency相关参考线程线程使得程序能在数个处理器核心同时执行。thread 类定义用于查看和管理应用程序中执行线程的对象。要求头文件: 命名空间: std公共方法名称描述detach容许线程从线程句柄独立开来执行get_id返回...原创 2019-08-12 11:46:03 · 196 阅读 · 0 评论 -
值类别 左值引用 右值引用
文章目录值类别关系图示例左值引用声明符: &语法示例反汇编伪代码右值引用声明符: &&语法示例反汇编伪代码值类别每个 C++ 表达式(运算符带上其操作数、字面量、变量名等)可按照两种独立的性质加以辨别:类型和值类别 (value category)。每个表达式都具有某种非引用类型,且每个表达式恰属于三种基本值类别之一:纯右值 (prvalue)、亡值 (xvalue)、...原创 2019-08-15 08:35:39 · 135 阅读 · 0 评论 -
algorithm 不修改序列的操作
STL算法非修正序列算法函数算法adjacent_find(first, last)搜索相邻的重复元素count(first, last, val)计数equal(first, last, first2)判断是否相等find(first, last, val)搜索find_end(first, last, first2, last2)搜索某...原创 2019-08-10 09:39:15 · 125 阅读 · 0 评论 -
algorithm 修改序列的操作
STL算法修正序列算法修正序列算法的有些操作会改变容器的内容。例如,把一个容器的部分内容复制到同一个容器的另一个部分,或者用指定值填充容器。函数算法copy(first, last, first2)复制copy_backward(first, last, first2)逆向复制fill(first, last, val)改填元素值generate...原创 2019-08-10 14:05:58 · 189 阅读 · 0 评论 -
algorithm 排序操作
STL算法排序算法排序算法的特点是对容器的内容进行不同方式的排序,例如 Sort()。函数算法binary_search(first, last, val)二元搜索equal_range(first, last, val)判断是否相等,并返回一个区间includes(first, last, first2, last2)包含与lexicograp...原创 2019-08-10 16:27:44 · 281 阅读 · 0 评论 -
numeric 数值运算
STL算法数值算法数值算法是对容器的内容进行数值计算。函数算法accumulate(first, last, init)元素累加inner_product(first, last, first2, init)内积partial_sum(first, last, result)局部总和adjacent_difference(first, last,...原创 2019-08-11 04:38:20 · 888 阅读 · 0 评论 -
单例模式 与 call_once
文章目录单例模式懒汉式不适用互斥使用互斥饿汉式call_once 实现单例类单例模式单例模式,也叫单子模式,是一种常用的软件设计模式。 在应用这个模式时,单例对象的类必须保证只有一个实例存在。 许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为。懒汉式不适用互斥mutex singelton_mutex;class Singelton{public:...原创 2019-08-12 15:15:13 · 309 阅读 · 0 评论